[OE-core] [PATCH 1/1] coreutils: fix do_configure error with long TMPDIR

Robert Yang liezhi.yang at windriver.com
Thu Sep 20 04:37:24 UTC 2012



On 08/24/2012 12:28 AM, Saul Wold wrote:
> On 08/19/2012 07:55 PM, wenzong.fan at windriver.com wrote:
>> From: Wenzong Fan <wenzong.fan at windriver.com>
>>
>> By default the 'm4/*' files will be extended with absolute path while
>> autoreconf running, if the length of TMPDIR is too long such as 410
>> which is the maximum value allowed by 'sanity.bbclass', autoreconf
>> will fail with error:
>>
>>      Can't exec "/bin/sh": Argument list too long ...
>>
>> Fix this issue by specific the 'acpaths' to '-I ./m4'.
>>
>> [YOCTO #2766]
>>
>> Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
>> ---
>>   meta/recipes-core/coreutils/coreutils_8.14.bb |    4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-core/coreutils/coreutils_8.14.bb
>> b/meta/recipes-core/coreutils/coreutils_8.14.bb
>> index 9a714a9..c7c8e13 100644
>> --- a/meta/recipes-core/coreutils/coreutils_8.14.bb
>> +++ b/meta/recipes-core/coreutils/coreutils_8.14.bb
>> @@ -7,7 +7,7 @@ BUGTRACKER = "http://debbugs.gnu.org/coreutils"
>>   LICENSE = "GPLv3+"
>>   LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
>>
>> file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad"
>> -PR = "r5"
>> +PR = "r6"
>>   DEPENDS = "gmp libcap"
>>   DEPENDS_virtclass-native = ""
>>
>> @@ -36,6 +36,8 @@ base_bindir_progs = "cat chgrp chmod chown cp date dd echo
>> false kill ln ls mkdi
>>
>>   sbindir_progs= "chroot"
>>
>> +acpaths = "-I ./m4"
>> +
> This is a poor work-around to the problem, and does not give any idea as to what
> your fixing.  Please investigate a proper fix not just a work-around.
>

Hi Saul,

This is because the aclocal's argument list is very long when building
coreutils, it has many arguments (378 m4 files under 'coreutils-8.14/m4'),
when the length of the TMPDIR is short this is OK, but when it is longer,
there would be a argument list too long error.

I think that we have two solutions to fix this problem:
1) Make aclocal accept longer arguments, unfortunately, the native aclocal is
    running on the host, the length of the argument depends on the host's kernel
    (The ARG_MAX which is defined in '/usr/include/linux/limits.h'), so this way
    doesn't work.

2) Make coreutils' acpaths shorter, this is what this patch does, it changes the
    absolute path to the relative path, so it doesn't care the length of the
    TMPDIR anymore.

// Robert

> Thanks
>      Sau!
>
>>   do_install_append() {
>>       for i in df mktemp base64; do mv ${D}${bindir}/$i
>> ${D}${bindir}/$i.${BPN}; done
>>
>>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>




More information about the Openembedded-core mailing list