[OE-core] [PATCH] gmp: depends on flex-native to fix parallel building issue

Bai, Haiqing Haiqing.Bai at windriver.com
Tue Dec 12 07:13:20 UTC 2017


Comments below. thanks

-----Original Message-----
From: Richard Purdie [mailto:richard.purdie at linuxfoundation.org] 
Sent: 2017年12月11日 6:48
To: Bai, Haiqing; openembedded-core at lists.openembedded.org
Subject: Re: [OE-core] [PATCH] gmp: depends on flex-native to fix parallel building issue

On Wed, 2017-11-29 at 14:54 +0800, Haiqing Bai wrote:
> fix below parallel building issue:
> configure:27365: result: flex
> configure:27403: flex conftest.l
> .../sysroots/x86_64-linux/usr/bin/flex.real: No such file or directory
> configure:27407: $? = 127
> configure:27409: checking lex output file root
> configure:27420: error: cannot find output from flex; giving up
> 
> Signed-off-by: Haiqing Bai <Haiqing.Bai at windriver.com>
> ---
>  meta/recipes-support/gmp/gmp.inc | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes- 
> support/gmp/gmp.inc index abac8cf..1b35eaa 100644
> --- a/meta/recipes-support/gmp/gmp.inc
> +++ b/meta/recipes-support/gmp/gmp.inc
> @@ -10,3 +10,5 @@ PACKAGECONFIG[readline] = "--with-readline=yes, 
> --with-readline=no,readline"
>  
>  ARM_INSTRUCTION_SET_armv4 = "arm"
>  ARM_INSTRUCTION_SET_armv5 = "arm"
> +
> +DEPENDS = "flex-native"

With recipe specific sysroots this should now be deterministic. The log above suggests you were not using recipe specific sysroots? This would therefore only be applicable to morty and earlier?
[This issue is founded on x86-64 building,  but it does not mean it is only related with x86.  Actually this is caused by the defect of the traditional probe mechanism of 'configure',  the package configure
script try to probe whether has package 'flex' , then some optional actions will be done by it.  In this issue,  when this probe happens,   /usr/bin/flex exists but '/usr/bin/flex.real' has not created for the
parallel building,  then configure reports the error and exits from building.   Since there are no atomic guarantee for the package output during parallel building, so here add this depends]

Cheers,

Richard


More information about the Openembedded-core mailing list