diff mbox series

multilib.conf: Remove the incorrect PKG_CONFIG_PATH setting

Message ID 20230920090617.3414561-1-mingli.yu@windriver.com
State New
Headers show
Series multilib.conf: Remove the incorrect PKG_CONFIG_PATH setting | expand

Commit Message

Yu, Mingli Sept. 20, 2023, 9:06 a.m. UTC
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(-)

Comments

Richard Purdie Sept. 20, 2023, 10:41 a.m. UTC | #1
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
Yu, Mingli Sept. 25, 2023, 5:53 a.m. UTC | #2
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
Alexandre Belloni Oct. 4, 2023, 8:43 a.m. UTC | #3
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 mbox series

Patch

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"