[OE-core] Use of multilib.conf taints hashes of -native recipes

Mike Crowe mac at mcrowe.com
Thu Dec 12 20:07:51 UTC 2019


On Thursday 12 December 2019 at 18:17:37 +0000, Richard Purdie wrote:
> On Thu, 2019-12-12 at 16:05 +0000, Mike Crowe via Openembedded-core
> wrote:
> > We compile for a variety of machines, some of which require
> > multilib.conf
> > and some that do not. I was surprised to discover when switching
> > between
> > machines that the do_populate_sysroot_setscene tasks run for many
> > -native
> > recipe. :(
> >
> > It looks like this is because RECIPE_SYSROOT changes:
> >
> >  Variable RECIPE_SYSROOT value changed from '${WORKDIR}/recipe-
> > sysroot' to '${WORKDIR}/${MLPREFIX}recipe-sysroot'
> >
> > This problem goes away if I add the following line to native.bbclass:
> >
> >  RECIPE_SYSROOT = "${WORKDIR}/recipe-sysroot"
> >
> > but this feels like I'm solving the problem in the wrong place. Would
> > it be
> > better to modify multilib.conf to say something like:
> >
> >  RECIPE_SYSROOT_class-target = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
> >
> > instead? (Although I'm rather worried that this will stop it actually
> > working.)
>
> I'm a little bit surprised we don't have tests which detect this.
>
> "oe-selftest -r ssstatetests"
>
> should have something which detected this, at least from memory. Could
> you take a look and see if we're missing some testcase?

There are only two test cases that mention multilib:

 test_sstate_nativesdk_samesigs_multilib
 test_sstate_sametune_samesigs

Neither seems to test for this. I shall try to write one that builds
binutils-native both with and without multilib.

Thanks.

Mike.


More information about the Openembedded-core mailing list