[OE-core] [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error

Robert Yang liezhi.yang at windriver.com
Fri Mar 13 01:51:29 UTC 2015



On 03/12/2015 08:16 PM, Burton, Ross wrote:
>
> On 12 March 2015 at 06:14, Robert Yang <liezhi.yang at windriver.com
> <mailto:liezhi.yang at windriver.com>> wrote:
>
>     +acpaths = "-I ./m4"
>
>
> Why does this only happen on tar?  Why is it safe to pass just -I ./m4 when the
> detected list that you're overriding is effectively -I ./m4 -I ./tests?

Not only tar has this problem, but also other recipes such as coreutils,
because they have many 4 files, but we have fixed that others bfore,
for example:

commit 238e9b54e228b850434f7d503870e86cfb12b775
Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Sun Sep 15 09:13:12 2013 +0000

     coreutils: set acpaths to avoid "Argument list too long" error


Now I tested the build in the deep directory again, only found tar
failed, and Chong had made a patch for it.

If we don't set 'acpaths = "-I ./m4"', then it would use the absolute path,
which would be too long, here is the related code in autotools.bbclass
for acpaths:

acpaths = "default"
[snip]
         ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
         if [ x"${acpaths}" = xdefault ]; then
             acpaths=
             for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
                 grep -v 'acinclude.m4' | grep -v 'aclocal-copy' | sed -e 
's,\(.*/\).*$,\1,'|sort -u`; do
                 acpaths="$acpaths -I $i"
             done
         else
             acpaths="${acpaths}"
         fi

I think it's safe to set acpaths = "-I ./m4" as we had done for coreutils.

// Robert

>
> Would it be better to just make all include paths relative to ${S} when
> generating the acpaths?
>
> Ross



More information about the Openembedded-core mailing list