[1/1] autotools.bbclass: using relative paths for acpaths

Submitted by wenzong.fan@windriver.com on Sept. 27, 2012, 8:23 a.m.

Details

Message ID ae8afc91a951339570a19ea607c8452037078a73.1348734058.git.wenzong.fan@windriver.com
State Accepted
Commit aa66ef6598c84231577d139ec7be413e73fac2b1
Headers show

Commit Message

wenzong.fan@windriver.com Sept. 27, 2012, 8:23 a.m.
From: Wenzong Fan <wenzong.fan@windriver.com>

Fix autotools.bbclass to use relative paths for acpaths instead of
absolute ones. Since absolute paths may cause potential autoreconf
error like:

    Can't exec "/bin/sh": Argument list too long ...

This error occurs while building coreutils with long TMPDIR, because
it has bunch of m4 files need to be expanded.

[YOCTO #2766]

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
 meta/classes/autotools.bbclass |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index e4e034b..874e01d 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -130,7 +130,8 @@  autotools_do_configure() {
 		if [ x"${acpaths}" = xdefault ]; then
 			acpaths=
 			for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
-				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
+				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u| \
+				sed -e 's,${S},\.,'`; do
 				acpaths="$acpaths -I $i"
 			done
 		else

Comments

Richard Purdie Sept. 27, 2012, 4:59 p.m.
On Thu, 2012-09-27 at 16:23 +0800, wenzong.fan@windriver.com wrote:
> From: Wenzong Fan <wenzong.fan@windriver.com>
> 
> Fix autotools.bbclass to use relative paths for acpaths instead of
> absolute ones. Since absolute paths may cause potential autoreconf
> error like:
> 
>     Can't exec "/bin/sh": Argument list too long ...
> 
> This error occurs while building coreutils with long TMPDIR, because
> it has bunch of m4 files need to be expanded.
> 
> [YOCTO #2766]
> 
> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
> ---
>  meta/classes/autotools.bbclass |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index e4e034b..874e01d 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -130,7 +130,8 @@ autotools_do_configure() {
>  		if [ x"${acpaths}" = xdefault ]; then
>  			acpaths=
>  			for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
> -				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
> +				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u| \
> +				sed -e 's,${S},\.,'`; do
>  				acpaths="$acpaths -I $i"
>  			done
>  		else

We applied this but it nearly instantly caused build failure reports.
Anything with multiple configure.ac files where sub configures are used
such as bdwgc-native will fail after this.

I've therefore reverted it and we need to find another way.

Cheers,

Richard
wenzong.fan@windriver.com Sept. 28, 2012, 7:31 a.m.
On 09/28/2012 12:59 AM, Richard Purdie wrote:
> On Thu, 2012-09-27 at 16:23 +0800, wenzong.fan@windriver.com wrote:
>> From: Wenzong Fan<wenzong.fan@windriver.com>
>>
>> Fix autotools.bbclass to use relative paths for acpaths instead of
>> absolute ones. Since absolute paths may cause potential autoreconf
>> error like:
>>
>>      Can't exec "/bin/sh": Argument list too long ...
>>
>> This error occurs while building coreutils with long TMPDIR, because
>> it has bunch of m4 files need to be expanded.
>>
>> [YOCTO #2766]
>>
>> Signed-off-by: Wenzong Fan<wenzong.fan@windriver.com>
>> ---
>>   meta/classes/autotools.bbclass |    3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
>> index e4e034b..874e01d 100644
>> --- a/meta/classes/autotools.bbclass
>> +++ b/meta/classes/autotools.bbclass
>> @@ -130,7 +130,8 @@ autotools_do_configure() {
>>   		if [ x"${acpaths}" = xdefault ]; then
>>   			acpaths=
>>   			for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
>> -				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
>> +				grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u| \
>> +				sed -e 's,${S},\.,'`; do
>>   				acpaths="$acpaths -I $i"
>>   			done
>>   		else
>
> We applied this but it nearly instantly caused build failure reports.
> Anything with multiple configure.ac files where sub configures are used
> such as bdwgc-native will fail after this.
>
> I've therefore reverted it and we need to find another way.

Sorry, I didn't figure this out while building a sato image. If we can't 
make everything happy, could we get back the original ways which only 
fix it for coreutils?

With the limit to length of TMPDIR, this issue should rarely occurs.

Thanks
Wenzong

>
> Cheers,
>
> Richard
>
>