summaryrefslogtreecommitdiffstats
path: root/meta-python
diff options
context:
space:
mode:
authorPeter Marko <peter.marko@siemens.com>2025-02-28 21:57:10 +0100
committerKhem Raj <raj.khem@gmail.com>2025-02-28 18:48:26 -0800
commitfe582374d3ba474164005942799eb2bddc52a080 (patch)
treec6bed0dc4914e382fee50d1b9233c11765b8d2d4 /meta-python
parent59dacb6d4d89304f1e6c8f707c463b33b6092018 (diff)
downloadmeta-openembedded-fe582374d3ba474164005942799eb2bddc52a080.tar.gz
python3-grpcio(-tools): fix build concurrency issue
Set GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS to limit spawned compiler processes. Without this it uses all available CPUs (via multiprocessing.cpu_count()) and can exhaust build host since there are lot of files to compile (e.g. with 128 cores it manages to spawn 128 gcc processes) Note that this is a general problem for all setuptools based builds with build_ext compilation which can either compile with 1 thread or cpu_count threads. grpcio hot-patches setuptools and allows to set specific build concurrency value. Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python')
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio-tools_1.70.0.bb4
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio_1.70.0.bb4
2 files changed, 8 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-grpcio-tools_1.70.0.bb b/meta-python/recipes-devtools/python/python3-grpcio-tools_1.70.0.bb
index 8af6bb5714..38440edbee 100644
--- a/meta-python/recipes-devtools/python/python3-grpcio-tools_1.70.0.bb
+++ b/meta-python/recipes-devtools/python/python3-grpcio-tools_1.70.0.bb
@@ -19,6 +19,10 @@ SRC_URI[sha256sum] = "e578fee7c1c213c8e471750d92631d00f178a15479fb2cb3b939a07fc1
19 19
20RDEPENDS:${PN} = "python3-grpcio" 20RDEPENDS:${PN} = "python3-grpcio"
21 21
22do_compile:prepend() {
23 export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}"
24}
25
22BBCLASSEXTEND = "native nativesdk" 26BBCLASSEXTEND = "native nativesdk"
23 27
24CVE_PRODUCT += "grpc:grpc" 28CVE_PRODUCT += "grpc:grpc"
diff --git a/meta-python/recipes-devtools/python/python3-grpcio_1.70.0.bb b/meta-python/recipes-devtools/python/python3-grpcio_1.70.0.bb
index 5af05ca2c9..b858a3b050 100644
--- a/meta-python/recipes-devtools/python/python3-grpcio_1.70.0.bb
+++ b/meta-python/recipes-devtools/python/python3-grpcio_1.70.0.bb
@@ -29,6 +29,10 @@ export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = "1"
29export GRPC_PYTHON_BUILD_SYSTEM_RE2 = "1" 29export GRPC_PYTHON_BUILD_SYSTEM_RE2 = "1"
30export GRPC_PYTHON_BUILD_SYSTEM_ZLIB = "1" 30export GRPC_PYTHON_BUILD_SYSTEM_ZLIB = "1"
31 31
32do_compile:prepend() {
33 export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="${@oe.utils.parallel_make(d, False)}"
34}
35
32GRPC_CFLAGS ?= "" 36GRPC_CFLAGS ?= ""
33GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" 37GRPC_CFLAGS:append:toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions"
34export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" 38export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}"