Message ID | 20230920090617.3414561-1-mingli.yu@windriver.com |
---|---|
State | New |
Headers | show |
Series | multilib.conf: Remove the incorrect PKG_CONFIG_PATH setting | expand |
On Wed, 2023-09-20 at 17:06 +0800, Yu, Mingli wrote: > From: Mingli Yu <mingli.yu@windriver.com> > > The PKG_CONFIG_PATH is set as ${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig > in multilib.conf. But there is no ${WORKDIR}/recipe-sysroot when multilib > enabled such as below: > $ bitbake lib32-php > There is no ${WORKDIR}/recipe-sysroot and only ${WORKDIR}/lib32-recipe-sysroot > exists which already covered in meta/conf/bitbake.conf as below: > export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig" > > So remove the incorrect setting in multilib.conf. > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > --- > meta/conf/multilib.conf | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf > index ef3605a73d..09546315b8 100644 > --- a/meta/conf/multilib.conf > +++ b/meta/conf/multilib.conf > @@ -22,15 +22,6 @@ MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32" > > OPKG_ARGS:append = " --force-maintainer --force-overwrite" > > -# When multilib is enabled, allarch recipes will be installed into the MACHINE > -# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to > -# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks > -# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's > -# architecture-independent pkgconfig location to PKG_CONFIG_PATH. > -PKG_CONFIG_PATH .= ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" > -PKG_CONFIG_PATH[vardepsexclude] = "datadir WORKDIR" > -PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" > - > # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES > # ${MLPREFIX}${BPN} > NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" I'm not sure this is correct, did you check something with a dependency on an allarch recipe that has a pkgconfig file? Cheers, Richard
Hi Richard, On 9/20/23 18:41, Richard Purdie wrote: > CAUTION: This email comes from a non Wind River email account! > Do not click links or open attachments unless you recognize the sender and know the content is safe. > > On Wed, 2023-09-20 at 17:06 +0800, Yu, Mingli wrote: >> From: Mingli Yu <mingli.yu@windriver.com> >> >> The PKG_CONFIG_PATH is set as ${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig >> in multilib.conf. But there is no ${WORKDIR}/recipe-sysroot when multilib >> enabled such as below: >> $ bitbake lib32-php >> There is no ${WORKDIR}/recipe-sysroot and only ${WORKDIR}/lib32-recipe-sysroot >> exists which already covered in meta/conf/bitbake.conf as below: >> export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig" >> >> So remove the incorrect setting in multilib.conf. >> >> Signed-off-by: Mingli Yu <mingli.yu@windriver.com> >> --- >> meta/conf/multilib.conf | 9 --------- >> 1 file changed, 9 deletions(-) >> >> diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf >> index ef3605a73d..09546315b8 100644 >> --- a/meta/conf/multilib.conf >> +++ b/meta/conf/multilib.conf >> @@ -22,15 +22,6 @@ MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32" >> >> OPKG_ARGS:append = " --force-maintainer --force-overwrite" >> >> -# When multilib is enabled, allarch recipes will be installed into the MACHINE >> -# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to >> -# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks >> -# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's >> -# architecture-independent pkgconfig location to PKG_CONFIG_PATH. >> -PKG_CONFIG_PATH .= ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" >> -PKG_CONFIG_PATH[vardepsexclude] = "datadir WORKDIR" >> -PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" >> - >> # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES >> # ${MLPREFIX}${BPN} >> NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" > > I'm not sure this is correct, did you check something with a dependency > on an allarch recipe that has a pkgconfig file? Yes, I have checked the recipe font-alias which uses pkgconfig and depends on the allarch recipe encodings and also checked the iso-codes recipe. Thanks, > > Cheers, > > Richard
Hello, This causes failures on the autobuilders: https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/5799/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/5866/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5849/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/5842/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/2195/steps/14/logs/stdio On 20/09/2023 17:06:17+0800, Yu, Mingli wrote: > From: Mingli Yu <mingli.yu@windriver.com> > > The PKG_CONFIG_PATH is set as ${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig > in multilib.conf. But there is no ${WORKDIR}/recipe-sysroot when multilib > enabled such as below: > $ bitbake lib32-php > There is no ${WORKDIR}/recipe-sysroot and only ${WORKDIR}/lib32-recipe-sysroot > exists which already covered in meta/conf/bitbake.conf as below: > export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig" > > So remove the incorrect setting in multilib.conf. > > Signed-off-by: Mingli Yu <mingli.yu@windriver.com> > --- > meta/conf/multilib.conf | 9 --------- > 1 file changed, 9 deletions(-) > > diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf > index ef3605a73d..09546315b8 100644 > --- a/meta/conf/multilib.conf > +++ b/meta/conf/multilib.conf > @@ -22,15 +22,6 @@ MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32" > > OPKG_ARGS:append = " --force-maintainer --force-overwrite" > > -# When multilib is enabled, allarch recipes will be installed into the MACHINE > -# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to > -# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks > -# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's > -# architecture-independent pkgconfig location to PKG_CONFIG_PATH. > -PKG_CONFIG_PATH .= ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" > -PKG_CONFIG_PATH[vardepsexclude] = "datadir WORKDIR" > -PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" > - > # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES > # ${MLPREFIX}${BPN} > NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" > -- > 2.25.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#187900): https://lists.openembedded.org/g/openembedded-core/message/187900 > Mute This Topic: https://lists.openembedded.org/mt/101474719/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf index ef3605a73d..09546315b8 100644 --- a/meta/conf/multilib.conf +++ b/meta/conf/multilib.conf @@ -22,15 +22,6 @@ MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32" OPKG_ARGS:append = " --force-maintainer --force-overwrite" -# When multilib is enabled, allarch recipes will be installed into the MACHINE -# sysroot, not MLPREFIXMACHINE. This means that anything using pkg-config to -# find an allarch pkgconfig file will fail as the PKG_CONFIG_PATH only looks -# inside the multilib sysroot. Fix this by explicitly adding the MACHINE's -# architecture-independent pkgconfig location to PKG_CONFIG_PATH. -PKG_CONFIG_PATH .= ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" -PKG_CONFIG_PATH[vardepsexclude] = "datadir WORKDIR" -PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkgconfig" - # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES # ${MLPREFIX}${BPN} NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot"