[OE-core] [PATCH 06/12] staging.bbclass: extend_recipe_sysroot(): search multilib manifest
Robert Yang
liezhi.yang at windriver.com
Mon Jan 8 09:33:03 UTC 2018
Fixed:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "core2-32"
$ bitbake lib32-wrlinux-image-glibc-small
WARNING: lib32-wrlinux-image-glibc-small-1.0-r1 do_rootfs: Manifest for lib32-qemuwrapper-cross not found, searched manifests:
/path/to/tmp/sstate-control/manifest-qemux86_64-lib32-qemuwrapper-cross.populate_sysroot
/path/to/tmp/sstate-control/manifest-core2-64-lib32-qemuwrapper-cross.populate_sysroot
/path/to/tmp/sstate-control/manifest-x86_64-lib32-qemuwrapper-cross.populate_sysroot
/path/to/tmp/sstate-control/manifest-allarch-lib32-qemuwrapper-cross.populate_sysroot
It was because image recipes' multilib PACKAGE_EXTRA_ARCHS are not changed by
mutlilib.bbclass, so extend_recipe_sysroot() didn't know anything about
mutlilib's PACKAGE_EXTRA_ARCHS, now fix it.
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
meta/classes/staging.bbclass | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 75bec84..91ae1e8 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -519,6 +519,15 @@ python extend_recipe_sysroot() {
else:
pkgarchs = ['${MACHINE_ARCH}']
pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split()))
+ # Search multilib archs for multilib image recipe like lib32-core-image-minimal
+ mlprefix = d2.getVar('MLPREFIX')
+ if bb.data.inherits_class('image', d2) and mlprefix:
+ ml_variant = mlprefix.rstrip('-')
+ override = ":virtclass-multilib-" + ml_variant
+ localdata = bb.data.createCopy(d2)
+ overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + ml_variant
+ localdata.setVar("OVERRIDES", overrides)
+ pkgarchs = pkgarchs + list(reversed(localdata.getVar("PACKAGE_EXTRA_ARCHS").split()))
pkgarchs.append('allarch')
for pkgarch in pkgarchs:
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.populate_sysroot" % (pkgarch, c))
--
2.7.4
More information about the Openembedded-core
mailing list