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 | |
| 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>
| -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" | |||
| 22 | 22 | ||
| 23 | inherit autotools pkgconfig | 23 | inherit autotools pkgconfig |
| 24 | 24 | ||
| 25 | # After several fix attempts there is still a race between generating | ||
| 26 | # t.test-full.pb.h and compiling cxx_generate_packed_data.c despite | ||
| 27 | # BUILT_SOURCES and explicit dependencies. | ||
| 28 | PARALLEL_MAKE = "" | ||
| 29 | |||
| 25 | PACKAGE_BEFORE_PN = "${PN}-compiler" | 30 | PACKAGE_BEFORE_PN = "${PN}-compiler" |
| 26 | 31 | ||
| 27 | FILES_${PN}-compiler = "${bindir}" | 32 | FILES_${PN}-compiler = "${bindir}" |
