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.y...@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 1b9e84d..412e269 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -480,6 +480,13 @@ python extend_recipe_sysroot() { multilibs[variant] = get_multilib_datastore(variant, d) d2 = multilibs[variant] destsysroot = d2.getVar("RECIPE_SYSROOT") + if variant not in fixme: + fixme[variant] = [] + # Clear variant when variant == current_variant since we + # don't need handle it as multilib in this case, just handle + # it as normal is OK. + else: + variant = '' native = False if c.endswith("-native"): @@ -508,6 +515,9 @@ python extend_recipe_sysroot() { if native: fm = fixme['native'] targetdir = recipesysrootnative + elif variant: + fm = fixme[variant] + targetdir = destsysroot else: fm = fixme[''] targetdir = destsysroot -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core