Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2014-04-09  9:44 [PATCH 0/1] " Chong Lu
@ 2014-04-09  9:44 ` Chong Lu
  2014-04-14  2:00   ` Chong Lu
  2014-05-16  5:33   ` Chong Lu
  0 siblings, 2 replies; 8+ messages in thread
From: Chong Lu @ 2014-04-09  9:44 UTC (permalink / raw)
  To: openembedded-core

There would be an error when the TMPDIR is long/deep, for example when
len(TMPDIR) = 410 while our supported longest value is 410:

    aclocal: error: cannot open xxx
    autoreconf: aclocal failed with exit status: 1
    ERROR: autoreconf execution failed.

Let aclocal use the relative path for the m4 file rather than the
absolute would fix the problem.

[YOCTO #6138]

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
---
 meta/recipes-extended/tar/tar.inc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
index 30a1373..75c3518 100644
--- a/meta/recipes-extended/tar/tar.inc
+++ b/meta/recipes-extended/tar/tar.inc
@@ -10,6 +10,12 @@ inherit autotools gettext
 
 EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
 
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since tar has a lot of m4 files, otherwise there might
+# be an "Argument list too long" error when it is built in a long/deep
+# directory.
+acpaths = "-I ./m4"
+
 EXTRAINSTALL = "do_install_extra"
 EXTRAINSTALL_class-nativesdk = ""
 
-- 
1.8.1.2



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2014-04-09  9:44 ` [PATCH 1/1] " Chong Lu
@ 2014-04-14  2:00   ` Chong Lu
  2014-05-16  5:33   ` Chong Lu
  1 sibling, 0 replies; 8+ messages in thread
From: Chong Lu @ 2014-04-14  2:00 UTC (permalink / raw)
  To: openembedded-core

ping

On 04/09/2014 05:44 PM, Chong Lu wrote:
> There would be an error when the TMPDIR is long/deep, for example when
> len(TMPDIR) = 410 while our supported longest value is 410:
>
>      aclocal: error: cannot open xxx
>      autoreconf: aclocal failed with exit status: 1
>      ERROR: autoreconf execution failed.
>
> Let aclocal use the relative path for the m4 file rather than the
> absolute would fix the problem.
>
> [YOCTO #6138]
>
> Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
> ---
>   meta/recipes-extended/tar/tar.inc | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
> index 30a1373..75c3518 100644
> --- a/meta/recipes-extended/tar/tar.inc
> +++ b/meta/recipes-extended/tar/tar.inc
> @@ -10,6 +10,12 @@ inherit autotools gettext
>   
>   EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
>   
> +# Let aclocal use the relative path for the m4 file rather than the
> +# absolute since tar has a lot of m4 files, otherwise there might
> +# be an "Argument list too long" error when it is built in a long/deep
> +# directory.
> +acpaths = "-I ./m4"
> +
>   EXTRAINSTALL = "do_install_extra"
>   EXTRAINSTALL_class-nativesdk = ""
>   



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2014-04-09  9:44 ` [PATCH 1/1] " Chong Lu
  2014-04-14  2:00   ` Chong Lu
@ 2014-05-16  5:33   ` Chong Lu
  1 sibling, 0 replies; 8+ messages in thread
From: Chong Lu @ 2014-05-16  5:33 UTC (permalink / raw)
  To: Chong Lu, openembedded-core

ping

On 04/09/2014 05:44 PM, Chong Lu wrote:
> There would be an error when the TMPDIR is long/deep, for example when
> len(TMPDIR) = 410 while our supported longest value is 410:
>
>      aclocal: error: cannot open xxx
>      autoreconf: aclocal failed with exit status: 1
>      ERROR: autoreconf execution failed.
>
> Let aclocal use the relative path for the m4 file rather than the
> absolute would fix the problem.
>
> [YOCTO #6138]
>
> Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
> ---
>   meta/recipes-extended/tar/tar.inc | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
> index 30a1373..75c3518 100644
> --- a/meta/recipes-extended/tar/tar.inc
> +++ b/meta/recipes-extended/tar/tar.inc
> @@ -10,6 +10,12 @@ inherit autotools gettext
>   
>   EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
>   
> +# Let aclocal use the relative path for the m4 file rather than the
> +# absolute since tar has a lot of m4 files, otherwise there might
> +# be an "Argument list too long" error when it is built in a long/deep
> +# directory.
> +acpaths = "-I ./m4"
> +
>   EXTRAINSTALL = "do_install_extra"
>   EXTRAINSTALL_class-nativesdk = ""
>   



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 0/1] tar: fix for len(TMPDIR) = 410 build
@ 2015-03-12  6:14 Robert Yang
  2015-03-12  6:14 ` [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error Robert Yang
  0 siblings, 1 reply; 8+ messages in thread
From: Robert Yang @ 2015-03-12  6:14 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 99f209a49a4390192b95184ff86bd6f973010111:

  layer.conf: bump version as error-report interface changed (2015-03-10 17:44:56 +0000)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/tar
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/tar

Chong Lu (1):
  tar: set acpaths to avoid "Argument list too long" error

 meta/recipes-extended/tar/tar.inc |    6 ++++++
 1 file changed, 6 insertions(+)

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2015-03-12  6:14 [PATCH 0/1] tar: fix for len(TMPDIR) = 410 build Robert Yang
@ 2015-03-12  6:14 ` Robert Yang
  2015-03-12 12:16   ` Burton, Ross
  0 siblings, 1 reply; 8+ messages in thread
From: Robert Yang @ 2015-03-12  6:14 UTC (permalink / raw)
  To: openembedded-core

From: Chong Lu <Chong.Lu@windriver.com>

There would be an error when the TMPDIR is long/deep, for example when
len(TMPDIR) = 410 while our supported longest value is 410:

    aclocal: error: cannot open xxx
    autoreconf: aclocal failed with exit status: 1
    ERROR: autoreconf execution failed.

Let aclocal use the relative path for the m4 file rather than the
absolute would fix the problem.

[YOCTO #6138]

Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/recipes-extended/tar/tar.inc |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc
index fb5db78..de2ed31 100644
--- a/meta/recipes-extended/tar/tar.inc
+++ b/meta/recipes-extended/tar/tar.inc
@@ -10,6 +10,12 @@ inherit autotools gettext texinfo
 
 EXTRA_OECONF += "DEFAULT_RMT_DIR=${base_sbindir}"
 
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since tar has a lot of m4 files, otherwise there might
+# be an "Argument list too long" error when it is built in a long/deep
+# directory.
+acpaths = "-I ./m4"
+
 EXTRAINSTALL = "do_install_extra"
 EXTRAINSTALL_class-nativesdk = ""
 
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2015-03-12  6:14 ` [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error Robert Yang
@ 2015-03-12 12:16   ` Burton, Ross
  2015-03-12 12:43     ` Richard Purdie
  2015-03-13  1:51     ` Robert Yang
  0 siblings, 2 replies; 8+ messages in thread
From: Burton, Ross @ 2015-03-12 12:16 UTC (permalink / raw)
  To: Robert Yang; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 368 bytes --]

On 12 March 2015 at 06:14, Robert Yang <liezhi.yang@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?

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

Ross

[-- Attachment #2: Type: text/html, Size: 855 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2015-03-12 12:16   ` Burton, Ross
@ 2015-03-12 12:43     ` Richard Purdie
  2015-03-13  1:51     ` Robert Yang
  1 sibling, 0 replies; 8+ messages in thread
From: Richard Purdie @ 2015-03-12 12:43 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

On Thu, 2015-03-12 at 12:16 +0000, Burton, Ross wrote:
> On 12 March 2015 at 06:14, Robert Yang <liezhi.yang@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?
>
> Would it be better to just make all include paths relative to ${S}
> when generating the acpaths?

We tried that. Subconfigures break:

http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/classes/autotools.bbclass?id=3c58f92d46e32c40b80575f14e0f6f66c9920c66

Cheers,

Richard



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error
  2015-03-12 12:16   ` Burton, Ross
  2015-03-12 12:43     ` Richard Purdie
@ 2015-03-13  1:51     ` Robert Yang
  1 sibling, 0 replies; 8+ messages in thread
From: Robert Yang @ 2015-03-13  1:51 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core



On 03/12/2015 08:16 PM, Burton, Ross wrote:
>
> On 12 March 2015 at 06:14, Robert Yang <liezhi.yang@windriver.com
> <mailto:liezhi.yang@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@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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-13  1:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-12  6:14 [PATCH 0/1] tar: fix for len(TMPDIR) = 410 build Robert Yang
2015-03-12  6:14 ` [PATCH 1/1] tar: set acpaths to avoid "Argument list too long" error Robert Yang
2015-03-12 12:16   ` Burton, Ross
2015-03-12 12:43     ` Richard Purdie
2015-03-13  1:51     ` Robert Yang
  -- strict thread matches above, loose matches on Subject: below --
2014-04-09  9:44 [PATCH 0/1] " Chong Lu
2014-04-09  9:44 ` [PATCH 1/1] " Chong Lu
2014-04-14  2:00   ` Chong Lu
2014-05-16  5:33   ` Chong Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox