multilib/bitbake.conf: default to contain MLPREFIX in RECIPE_SYSROOT
cover multilib/bitbake.conf: default to contain MLPREFIX in RECIPE_SYSROOT
The following changes since commit 71b4ae25612d6dd3687fdd583ed0077e744899cb:
glib-2.0/glib.inc: fix broken mingw build (2018-04-20 08:19:46 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib ChenQi/recipe-sysroot-mlprefix
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/recipe-sysroot-mlprefix
Chen Qi (1):
multilib/bitbake.conf: default to contain MLPREFIX in RECIPE_SYSROOT
meta/conf/bitbake.conf | 2 +- meta/conf/multilib.conf | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/1 multilib/bitbake.conf: default to contain MLPREFIX in RECIPE_SYSROOT
We set RECIPE_SYSROOT to ${WORKDIR}/recipe-sysroot in bitbake.conf and ${WORKDIR}/${MLPREFIX}recipe-sysroot in multilib.conf.
The problem is about nativesdk recipes. MLPREFIX is set to "nativesdk-" in nativesdk.bbclass. So if we don't include (or require) multilib.conf, nativesdk recipe's RECIPE_SYSROOT is 'recipe-sysroot'; if we include (or require) multilib.conf, its RECIPE_SYSROOT is 'nativesdk-recipe-sysroot'.
Just including multilib.conf or not would affect nativesdk reicpes RECIPE_SYSROOT value. This is not reasonable. And in fact it sometimes causes problem for us. When we change configuration about multilib in the same build directory, we sometimes get the following build failure.
ld: cannot find crtn.o: No such file or directory
Not only that, sometimes the manifest under sysroot-components of nativesdk recipes have entries starting with 'recipe-sysroot', but the actual files that should be removed are under 'nativesdk-recipe-sysroot'. And that causes problem for prepare_recipe_sysroot task! Errors are like:
Exception: FileExistsError: [Errno 17] File exists
So change RECIPE_SYSROOT to contain MLPREFIX by default. In this way, nativesdk recipes would have their RECIPE_SYSROOT set to nativesdk-recipe-sysroot. After all, changing MULTILIBS should not affect this value for nativesdk recipe.
--- meta/conf/bitbake.conf | 2 +- meta/conf/multilib.conf | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-)
meta/conf/bitbake.conf +1 -1
@@ -368,7 +368,7 @@ B = "${S}" STAGING_DIR = "${TMPDIR}/sysroots" COMPONENTS_DIR = "${STAGING_DIR}-components" -RECIPE_SYSROOT = "${WORKDIR}/recipe-sysroot" +RECIPE_SYSROOT = "${WORKDIR}/${MLPREFIX}recipe-sysroot" RECIPE_SYSROOT_NATIVE = "${WORKDIR}/recipe-sysroot-native" STAGING_DIR_NATIVE = "${RECIPE_SYSROOT_NATIVE}"
meta/conf/multilib.conf +0 -4
@@ -6,10 +6,6 @@ MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS TARGET_VENDOR" MULTILIBS ??= "multilib:lib32" -STAGING_DIR_HOST = "${WORKDIR}/${MLPREFIX}recipe-sysroot" -STAGING_DIR_TARGET = "${WORKDIR}/${MLPREFIX}recipe-sysroot" -RECIPE_SYSROOT = "${WORKDIR}/${MLPREFIX}recipe-sysroot" - INHERIT += "multilib_global" BBCLASSEXTEND_append = " ${MULTILIBS}"
Signature · 1 line
1.9.1