[OE-core] [PATCH] gmp: depends on flex-native to fix parallel building issue
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Jan 3 21:51:04 UTC 2018
On Wed, 2018-01-03 at 16:35 -0500, Randy MacLeod wrote:
> I expect I'm missing an undocumented recipe rule here but...
>
>
> Yes, the race seems to only occur on morty and earlier, but
> the dependency is real and not yet listed explicitly in the recipe.
>
> $ grep flex tmp/work/i586-poky-linux/gmp/6.1.2-
> r0/temp/log.do_configure
> checking for flex... flex
>
> It's resolved transitively through:
> gmp -> something -> binutils-cross-foo -> flex-native
I think it can happily build without flex by not re-generating certain
files. Whilst on target gmp does seem to have an indirect dependency,
our cross compiler does not:
$ grep flex tmp/work/x86_64-linux/gmp-native/6.1.2-r0/temp/log.do_configure
checking for flex... no
due to recipe specific sysroots and HOSTTOOLS, this is all at least
deterministic and it either builds with or without it deterministically
in all cases.
> I was on the fence about whether to be explicit or to rely on
> most/all recipes pulling in binutils-cross-foo via default
> rules. In looking at the guidance in 4.3.9 Dependencies:
>
> http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#n
> ew-dependencies
> and briefly checking out LLVM's lld loader recipe where it seems
> that flex-native might not be needed so it's best to be explicit.
>
> Unless there's an objection, Bai will re-submit the simple
> fix with an updated commit log. If anyone has time, they
> can check if the LLVM lld build really does NOT pull in flex-native
> and if not, then add explicit dependencies as required.
Actually, I do strongly object to adding in a flex-native dependency to
gmp-native and lengthening an already long/cumbersome toolchain
bootstrap process.
Cheers,
Richard
More information about the Openembedded-core
mailing list