[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