Got it. I'll check this failure. Regards, Qi
-----Original Message----- From: Richard Purdie <richard.pur...@linuxfoundation.org> Sent: Saturday, July 29, 2023 6:08 AM To: Chen, Qi <qi.c...@windriver.com>; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH] multilib.conf: explicitly make MULTILIB_VARIANTS vardeps on MULTILIBS On Thu, 2023-07-27 at 14:15 +0800, Chen Qi via lists.openembedded.org wrote: > From: Chen Qi <qi.c...@windriver.com> > > This patch is to ensure recipes get rebuilt correctly and avoid > incorrect sstate cache reuse when toggling multilib. > > The following steps show one example of such incorrect sstate cache reuse. > 1. enable multilib && bitbake <some_image> -c populate_sdk 2. disable > multilib && bitbake <some_image> -c populate_sdk > > The error message is as below: > Error: > Problem: conflicting requests > - nothing provides binutils-cross-canadian-i686 needed by > packagegroup-cross-canadian-intel-x86-64-1.0-r0.x86_64_nativesdk > - nothing provides gcc-cross-canadian-i686 needed by > packagegroup-cross-canadian-intel-x86-64-1.0-r0.x86_64_nativesdk > - nothing provides gdb-cross-canadian-i686 needed by > packagegroup-cross-canadian-intel-x86-64-1.0-r0.x86_64_nativesdk > (try to add '--skip-broken' to skip uninstallable packages) > > We get this error because packagegroup-cross-canadian recipe is not > rebuilt when it should be. > > Current codes have tracked the dependency to MULTILIB_VARIANTS, as > shown in the following chain: > RDEPENDS:packagegroup-cross-canadian-intel-x86-64 -> > all_multilib_tune_values -> MULTILIB_VARIANTS. > > However, MULTILIB_VARIANTS cannot automatically depend on MULTILIBS. > See some results from 'bitbake-dumpsigs' below: > List of dependencies for variable MULTILIB_VARIANTS is > ['extend_variants'] Variable MULTILIB_VARIANTS value is > ${@extend_variants(d,'MULTILIBS','multilib')} > > It's obvious that the value of MULTILIB_VARIANTS depend on the value > of MULTILIBS, so let's set this dependency manually. > > Signed-off-by: Chen Qi <qi.c...@windriver.com> > --- > meta/conf/multilib.conf | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf index > 7f3b9463ef..ef3605a73d 100644 > --- a/meta/conf/multilib.conf > +++ b/meta/conf/multilib.conf > @@ -2,6 +2,7 @@ > baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or > 'INVALID')) or d.getVar('BASELIB')}" > > MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" > +MULTILIB_VARIANTS[vardeps] += "MULTILIBS" > MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS TARGET_VENDOR" > > MULTILIBS ??= "multilib:lib32" I suspect this resulted in this selftest failure: https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5534/steps/15/logs/stdio Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#185115): https://lists.openembedded.org/g/openembedded-core/message/185115 Mute This Topic: https://lists.openembedded.org/mt/100385842/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-