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

login
register
mail settings
Submitter wenzong.fan@windriver.com
Date Sept. 27, 2012, 8:23 a.m.
Message ID <ae8afc91a951339570a19ea607c8452037078a73.1348734058.git.wenzong.fan@windriver.com>
Download mbox | patch
Permalink /patch/37337/
State Accepted
Commit aa66ef6598c84231577d139ec7be413e73fac2b1
Headers show

Comments

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(-)
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
>
>

Patch

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