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

Robert Yang liezhi.yang at windriver.com
Sun Sep 15 09:13:12 UTC 2013


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

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

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

Another fix is that we can modify autotools.bbclass to let it use the
relative path rather than the absolute, but I don't think that we have
to do that based on the following 2 thoughts:

* The coreutils is the only recipe which has this issue as far as we
  know when len(TMPDIR) <= 410, because it has the most amount of m4
  files (more than 400 ones).

* That would impact all the recipes which use autotools.bbclass, and we
  are not sure about the side effect, for example, it would break the
  build there is a sub-configure.

[YOCTO #2766]

Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
 meta/recipes-core/coreutils/coreutils_6.9.bb  |    6 ++++++
 meta/recipes-core/coreutils/coreutils_8.21.bb |    6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/meta/recipes-core/coreutils/coreutils_6.9.bb b/meta/recipes-core/coreutils/coreutils_6.9.bb
index 2654028..eeeab05 100644
--- a/meta/recipes-core/coreutils/coreutils_6.9.bb
+++ b/meta/recipes-core/coreutils/coreutils_6.9.bb
@@ -57,6 +57,12 @@ base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill ln ls mkdi
 
 sbindir_progs= "chroot"
 
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since coreutils 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"
+
 do_install() {
 	autotools_do_install
 
diff --git a/meta/recipes-core/coreutils/coreutils_8.21.bb b/meta/recipes-core/coreutils/coreutils_8.21.bb
index 35c9100..da14303 100644
--- a/meta/recipes-core/coreutils/coreutils_8.21.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.21.bb
@@ -47,6 +47,12 @@ base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill ln ls mkdi
 
 sbindir_progs= "chroot"
 
+# Let aclocal use the relative path for the m4 file rather than the
+# absolute since coreutils 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"
+
 # Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h
 do_compile_prepend () {
 	mkdir -p ${B}/src
-- 
1.7.10.4




More information about the Openembedded-core mailing list