From: Hongxu Jia Date: Sat, 12 Oct 2024 07:18:44 +0000 (+0800) Subject: gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9609a7c9c6d809cc02480c3f12f8dd7c6f3fe9fc;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0 While enabling multilib, build gcc-source-14.2.0 and lib32-gcc-source-14.2.0 at the same time: $ MACHINE = "qemux86-64" $ require conf/multilib.conf $ MULTILIBS = "multilib:lib32" $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86" $ bitbake gcc-source-14.2.0 lib32-gcc-source-14.2.0 ... $ cat tmp-glibc/work-shared/gcc-14.2.0-r0.vr2401/temp/log.task_order 20241012-064533.415426 do_recipe_qa (2688052): log.do_recipe_qa.2688052 20241012-064533.463783 do_recipe_qa (2688051): log.do_recipe_qa.2688051 20241012-064533.805164 do_fetch (2688257): log.do_fetch.2688257 20241012-064533.852955 do_fetch (2688256): log.do_fetch.2688256 20241012-064617.823714 do_unpack (2698542): log.do_unpack.2698542 20241012-064617.871730 do_unpack (2698541): log.do_unpack.2698541 ... There are two tasks for do_fetch, do_unpack and others, so there are race issues. Both of them have the same hardcode 'gcc' prefix in ${WORKDIR} and ${S}, explicitly disable lib32-gcc-source-14.2.0 for multilib Set gcc-source as BPN of gcc-source-14.2.0 Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie (cherry picked from commit 901c47877e0710af50639f688e0bfdb851b762b5) Signed-off-by: Steve Sakoman --- diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf index 09546315b87..7bdfcd56aaa 100644 --- a/meta/conf/multilib.conf +++ b/meta/conf/multilib.conf @@ -24,4 +24,4 @@ OPKG_ARGS:append = " --force-maintainer --force-overwrite" # These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES # ${MLPREFIX}${BPN} -NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" +NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot gcc-source" diff --git a/meta/recipes-devtools/gcc/gcc-source_14.2.bb b/meta/recipes-devtools/gcc/gcc-source_14.2.bb index b890fa33ea5..be11fa2fcc8 100644 --- a/meta/recipes-devtools/gcc/gcc-source_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-source_14.2.bb @@ -1,4 +1,5 @@ require recipes-devtools/gcc/gcc-${PV}.inc require recipes-devtools/gcc/gcc-source.inc +BPN = "gcc-source" EXCLUDE_FROM_WORLD = "1"