From 9cbf9db69111a72346c7b9419222f10d939a09a2 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Thu, 28 Sep 2023 22:05:26 +0200 Subject: [PATCH] package/nodejs: fix parallel build further MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 84c24ab1b5a7 (package/nodejs: fix parallel build) made use of BR2_JLEVEL to set the number of jobs nodejs should use instead of using the number of CPUs (+2). However, BR2_JLEVEL can be set to 0 by the user, to let Buildroot detect the number of CPUs (+1), and stores it in PARALLEL_JOBS, and leaves BR2_JLEVEL untouched, so 0. Thus, we can end up spawning a build by passing -j0 to ninja, which it interprets as "no -limit yolo" and does not limit the number oj jobs it spawns, which usually ends up in an OOM somewhere... Fix this by using PARALLEL_JOBS. Reported-by: Cédric & Co Signed-off-by: Yann E. MORIN (cherry picked from commit d574e2a4f440903a0e32de6deb8275b1f385da2e) Signed-off-by: Peter Korsgaard --- package/nodejs/nodejs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index ff32ae6c13..e07d79091a 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -47,7 +47,7 @@ HOST_NODEJS_MAKE_OPTS = \ LDFLAGS.host="$(HOST_LDFLAGS)" \ NO_LOAD=cctest.target.mk \ PATH=$(@D)/bin:$(BR_PATH) \ - JOBS=$(BR2_JLEVEL) + JOBS=$(PARALLEL_JOBS) NODEJS_MAKE_OPTS = \ $(TARGET_CONFIGURE_OPTS) \ @@ -55,7 +55,7 @@ NODEJS_MAKE_OPTS = \ PATH=$(@D)/bin:$(BR_PATH) \ LDFLAGS="$(NODEJS_LDFLAGS)" \ LD="$(TARGET_CXX)" \ - JOBS=$(BR2_JLEVEL) + JOBS=$(PARALLEL_JOBS) # nodejs's build system uses python which can be a symlink to an unsupported # python version (e.g. python 3.10 with nodejs 14.18.1). We work around this by