diff options
author | Paul Eggleton <paul.eggleton@linux.microsoft.com> | 2020-06-14 21:28:45 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-06-14 22:31:44 -0700 |
commit | 3251fe210a91d13ab2a6c5b7ecb283aa8e019020 (patch) | |
tree | 0c30f181d822ee38d9fb8472e19a6081efeb884b /meta-oe/recipes-devtools | |
parent | 12072f84377897de9117481c9d173d71f4e0b307 (diff) | |
download | meta-openembedded-3251fe210a91d13ab2a6c5b7ecb283aa8e019020.tar.gz |
protobuf-c: disable parallelism to avoid race condition
Unfortunately 489d3b4b932ee8016d792341f8ea5836a9522cd4 did not completely
fix the problem - if you try cleaning and rebuilding protobuf-c-native it
doesn't take long to reproduce the issue on a 32-core machine. I spent
some time trying to debug this but failed, there is still a race between
generating t.test-full.pb.h and compiling cxx_generate_packed_data.c
despite BUILT_SOURCES and explicit dependencies. I even tried converting
the multiple target rules to use grouped targets (&:), that didn't fix it
either. Disabling parallelism as a workaround only costs ~20s and it
turns out that upstream is switching to Meson soon anyway:
https://github.com/protobuf-c/protobuf-c/pull/340
Signed-off-by: Paul Eggleton <paul.eggleton@linux.microsoft.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools')
-rw-r--r-- | meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb index bb8aecded3..6fef0bed2c 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb @@ -22,6 +22,11 @@ S = "${WORKDIR}/git" inherit autotools pkgconfig +# After several fix attempts there is still a race between generating +# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite +# BUILT_SOURCES and explicit dependencies. +PARALLEL_MAKE = "" + PACKAGE_BEFORE_PN = "${PN}-compiler" FILES_${PN}-compiler = "${bindir}" |