aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.microsoft.com>2020-06-14 21:28:45 -0700
committerArmin Kuster <akuster808@gmail.com>2020-07-01 08:01:41 -0700
commit28941dde0b5147b7a180b4dc5f82412172c964c7 (patch)
tree6da6d0f7f7a726b1d837a46fb2d2044e45c80f5c
parentc02460f831ce18903f83138d9895094a230a4593 (diff)
downloadmeta-openembedded-contrib-28941dde0b5147b7a180b4dc5f82412172c964c7.tar.gz
meta-openembedded-contrib-28941dde0b5147b7a180b4dc5f82412172c964c7.tar.bz2
meta-openembedded-contrib-28941dde0b5147b7a180b4dc5f82412172c964c7.zip
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> (cherry picked from commit 3251fe210a91d13ab2a6c5b7ecb283aa8e019020) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb5
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 94c3893574..ed8773443e 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
@@ -26,6 +26,11 @@ BUILD_CXXFLAGS += "-std=c++11"
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}"