[OE-core] [PATCH 8/8] staging.bbclass: extend_recipe_sysroot: fix multilib manifest
Robert Yang
liezhi.yang at windriver.com
Tue Mar 13 03:24:50 UTC 2018
Fixed:
MACHINE = "qemux86-64"
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
$ bitbake <image> -cpopulate_sdk_ext
[snip]
Exception: subprocess.CalledProcessError: Command 'sed -e [snip]'
[snip]
Subprocess output:
[snip]
sed: can't read /path/to/work/qemux86_64-wrs-linux/wrlinux-image-glibc-small/1.0-r1/recipe-sysroot/usr/lib/perl/5.24.1/ExtUtils/Liblist/Kid.pm: No such file or directory
[snip]
It was failed because "/usr/lib" is in qemux86_64-wrsmllib32-linux/, not in
qemux86_64-wrs-linux. The code has considered mutitlib, but seems not
completed, the multilib "variant" was not in fixme, so it wasn't handled
correctly, this patch fixes the problem.
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
meta/classes/staging.bbclass | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index c45ada4..1c2028c 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -492,11 +492,21 @@ python extend_recipe_sysroot() {
if c.endswith("-native") or "-cross-" in c or "-crosssdk" in c:
native = True
+ multilib = False
+ if setscenedeps[dep][2].startswith("virtual:multilib"):
+ variant = setscenedeps[dep][2].split(":")[2]
+ if variant not in fixme:
+ fixme[variant] = []
+ multilib = True
+
if manifest:
newmanifest = collections.OrderedDict()
if native:
fm = fixme['native']
targetdir = recipesysrootnative
+ elif multilib:
+ fm = fixme[variant]
+ targetdir = destsysroot
else:
fm = fixme['']
targetdir = destsysroot
--
2.7.4
More information about the Openembedded-core
mailing list