diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-19 06:51:57 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-23 12:49:49 -0800 |
commit | 9eaf51be2d578016d24ca47fb3cd679d3da4baca (patch) | |
tree | a6667b143c6b3ae68276c55c53bd8b14a0bfbe30 | |
parent | 3711607d918c800e249c441c85227111362a796f (diff) | |
download | poky-9eaf51be2d578016d24ca47fb3cd679d3da4baca.tar.gz |
gcc-cross: Avoid races with gcc_stash_builddir
Its sad we need to do this but do_install and do_populate_sysroot appear
to change the files in ${B} and this breaks if something works in parallel
like gcc_stash_builddir. We've seen a few too many race errors on the
autobuilder which appear to be from this so make things run in sequence
deterministically for now.
An example failure was this from do_populate_sysroot whilst stash_builddir was running
in parallel:
ERROR: gcc-cross-initial-arm-6.3.0-r0 do_populate_sysroot: split_and_strip_files: 'file
/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/build/tmp/work/x86_64-linux/
gcc-cross-initial-arm/6.3.0-r0/sysroot-destdir/home/pokybuild/yocto-autobuilder/yocto-worker/
nightly-arm-lsb/build/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/recipe-sysroot-native/
usr/bin/arm-poky-linux-gnueabi.gcc-cross-initial-arm/arm-poky-linux-gnueabi-gcov' failed
Exception: subprocess.CalledProcessError: Command '('patchelf-uninative', '--set-interpreter',
'/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/build/tmp/sysroots-uninative/
x86_64-linux/lib/ld-linux-x86-64.so.2', '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/
build/build/tmp/work/x86_64-linux/gcc-cross-initial-arm/6.3.0-r0/sstate-build-populate_sysroot/
recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi.gcc-cross-initial-arm/arm-poky-linux-gnueabi-gcov')' returned non-zero exit status 1
Subprocess output:
missing section headers
(From OE-Core rev: 75b76eb08c7e344142f0326605aeb6b24e61e38e)
(From OE-Core rev: 7265e99d0b4b662ca7f23d480f2845a309ac57fc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-cross.inc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index fa5cfbd5d1..bb5f7a0a5e 100644 --- a/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-cross.inc | |||
@@ -200,7 +200,7 @@ do_gcc_stash_builddir () { | |||
200 | dest=${BUILDDIRSTASH} | 200 | dest=${BUILDDIRSTASH} |
201 | hardlinkdir . $dest | 201 | hardlinkdir . $dest |
202 | } | 202 | } |
203 | addtask do_gcc_stash_builddir after do_compile before do_build | 203 | addtask do_gcc_stash_builddir after do_compile before do_install |
204 | SSTATETASKS += "do_gcc_stash_builddir" | 204 | SSTATETASKS += "do_gcc_stash_builddir" |
205 | do_gcc_stash_builddir[sstate-inputdirs] = "${BUILDDIRSTASH}" | 205 | do_gcc_stash_builddir[sstate-inputdirs] = "${BUILDDIRSTASH}" |
206 | do_gcc_stash_builddir[sstate-outputdirs] = "${STAGING_DIR}-components/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}" | 206 | do_gcc_stash_builddir[sstate-outputdirs] = "${STAGING_DIR}-components/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}" |