[OE-core] populate_sdk failed when multilib enabled
Changqing Li
changqing.li at windriver.com
Mon Aug 5 07:18:01 UTC 2019
Hi, All
bitbake core-image-minimal -c populate_sdk failed with below
configuration in local.conf:
IMAGE_INSTALL_append = " bash"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
I did some research, but no clue how to fix, so I want to get some help
from community.
Error info:
core-image-minimal-1.0-r0 do_populate_sdk: Could not invoke dnf. Command
'/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf
-v --rpmverbosity=info -y -c
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/etc/dnf/dnf.conf
--setopt=reposdir=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/etc/yum.repos.d
--installroot=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux
--setopt=logdir=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp
--repofrompath=oe-repo,/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-sdk-repo
--nogpgcheck install lib32-packagegroup-core-standalone-sdk-target
run-postinsts bash packagegroup-core-standalone-sdk-target
packagegroup-core-boot target-sdk-provides-dummy' returned 1:
Error:
Problem: package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts
with /bin/sh provided by bash-5.0-r0.core2_64
- package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with bash provided by bash-5.0-r0.core2_64
- package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with /bin/bash provided by bash-5.0-r0.core2_64
- package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
obsoletes bash provided by bash-5.0-r0.core2_64
- cannot install the best candidate for the job
- conflicting requests
(try to add '--allowerasing' to command line to replace conflicting
packages or '--skip-broken' to skip uninstallable packages or '--nobest'
to use not only best candidate packages)
Some other info:
1. package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
and bash-5.0-r0.core2_64 both provides /bin/sh and /bin/bash, but if
removed above multilib related 3lines in local.conf, populate_sdk will
success.
I don't understand why it failed with multilib enabled, since no matter
if multilib is enabled, package target-sdk-provides-dummy and bash will
both provides /bin/sh and /bin/bash, but error only occurred when
multilib enabled.
2.with multilib enabled, in bitbake core-image-minimal -c devshell, run:
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf
-v --rpmverbosity=info -y -c
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/etc/dnf/dnf.conf
--setopt=reposdir=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/etc/yum.repos.d
--installroot=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux
--setopt=logdir=/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp
--repofrompath=oe-repo,/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-sdk-repo
--nogpgcheck provides /bin/bash
DNF version: 4.2.2
cachedir:
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/var/cache/dnf
Added oe-repo repo from
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-sdk-repo
repo: using cache for: oe-repo
not found other for:
not found modules for:
not found deltainfo for:
not found updateinfo for:
oe-repo: using metadata from Mon 05 Aug 2019 04:00:20 AM UTC.
Last metadata expiration check: 1:30:06 ago on Mon 05 Aug 2019 04:00:23
AM UTC.
No module defaults found
Searching Packages:
bash-5.0-r0.core2_64 : An sh-compatible command language interpreter
Repo : oe-repo
Matched from:
Provide : /bin/bash
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target : Dummy
packages which handle excluding packages from the sdk, e.g. ensuring
perl is excluded from buildtools
Repo : oe-repo
Matched from:
Provide : /bin/bash
BUT, if multilib is disabled, the cmd will return no matches.
3. here is configs under
/yocto/builds/sysV/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/2.7+snapshot/sysroots/core2-64-poky-linux/etc/dnf/
tree
.
├── dnf.conf
└── vars
├── arch
└── releasever
$ cat dnf.conf
$ cat vars/arch
core2_64:x86_64:sdk_provides_dummy_target:qemux86_64:x86
$ cat vars/releasever
master
--
BRs
Sandy(Li Changqing)
More information about the Openembedded-core
mailing list