mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 10:13:03 +01:00
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
(From OE-Core rev: 901c47877e0710af50639f688e0bfdb851b762b5)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
28 lines
977 B
Plaintext
28 lines
977 B
Plaintext
|
|
baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
|
|
|
|
MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
|
|
MULTILIB_VARIANTS[vardeps] += "MULTILIBS"
|
|
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"
|
|
RECIPE_SYSROOT:class-native = "${WORKDIR}/recipe-sysroot"
|
|
|
|
PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${MLPREFIX}recipe-sysroot"
|
|
|
|
INHERIT += "multilib_global"
|
|
|
|
BBCLASSEXTEND:append = " ${MULTILIBS}"
|
|
|
|
MULTILIB_GLOBAL_VARIANTS ?= "lib32 lib64 libx32"
|
|
|
|
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 gcc-source"
|