Files
meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
T
Paul Eggleton 3251fe210a protobuf-c: disable parallelism to avoid race condition
Unfortunately 489d3b4b93 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>
2020-06-14 22:31:44 -07:00

38 lines
1.3 KiB
BlitzBasic

SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
serialization format. It includes libprotobuf-c, a pure C library that \
implements protobuf encoding and decoding, and protoc-c, a code generator that \
converts Protocol Buffer .proto files to C descriptor code, based on the \
original protoc. protobuf-c formerly included an RPC implementation; that code \
has been split out into the protobuf-c-rpc project."
HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
SECTION = "console/tools"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
DEPENDS = "protobuf-native protobuf"
SRCREV = "f20a3fa131c275a0e795d99a28f94b4dbbb5af26"
SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
file://0001-avoid-race-condition.patch \
"
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}"
RDEPENDS_${PN}-compiler = "protobuf-compiler"
RDEPENDS_${PN}-dev += "${PN}-compiler"
BBCLASSEXTEND = "native nativesdk"