mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
3e8da09b5f2fa7a9471eff5e6fde4786b6842b40
I was encountering the following race condition on poky:
- automake-native does do_install.
- automake-native does do_populate_sysroot. This hardlinks config.guess
and config.sub into ${D}.
- kmod-native does do_configure. This runs `autoreconf`, which runs
`automake --add-missing` (symlinks config.guess/config.sub from
recipe-sysroot-native to build dir), then runs `gnu-configize` (copies
_its own_ config.guess/config.sub _on top_ of the already existing
ones). Since the destinations already had symlinks, the copy would
overwrite config.guess/config.sub in recipe-sysroot-native, which
would in turn overwrite the same in ${D} due to being hardlinked.
- automake-native does do_package. The outhash is thus calculated on the
clobbered config.guess/config.sub files.
With hash equivalency enabled, the different outhash produced a
different unihash, which kept me from reusing sstate between my laptop
and my build server. This race condition would happen only on the build
server (BB_NUMBER_THREADS = 32) but never on my laptop
(BB_NUMBER_THREADS = 6).
I didn't see the --install and --symlink flags being used by any other
recipe, so I removed them, and that fixed the issue.
(From OE-Core rev: b423a574496a7bf6023883584a6d1ad1cdb8f017)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 89d675efd633b495daa4a3a57420b9c309497035)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
QEMU Emulation Targets ====================== To simplify development, the build system supports building images to work with the QEMU emulator in system emulation mode. Several architectures are currently supported in 32 and 64 bit variants: * ARM (qemuarm + qemuarm64) * x86 (qemux86 + qemux86-64) * PowerPC (qemuppc only) * MIPS (qemumips + qemumips64) Use of the QEMU images is covered in the Yocto Project Reference Manual. The appropriate MACHINE variable value corresponding to the target is given in brackets.
Description