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]
(From OE-Core rev:
22ac874512c2c1213aae8e1644bd59050b37a63c)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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
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