From a6e9171451a5e26aa873ea5f763f6c02de64de4a Mon Sep 17 00:00:00 2001 From: Vaibhav Jindal Date: Fri, 30 Oct 2026 08:46:34 +0530 Subject: [PATCH] wrk: fix parallel build failure due to missing obj directory The obj/bytecode.c rule in the wrk Makefile has no dependency on the obj/ directory, so with parallel make luajit can run before obj/ has been created and fails: LUAJIT src/wrk.lua luajit: .../obj/bytecode.c: No such file or directory make: *** [Makefile:64: obj/bytecode.c] Error 1 wrk only supports in-tree builds (relative obj/ and src/ paths, B = S), so create ${S}/obj via do_compile[dirs], keeping ${S} last so make still runs from the source directory. Signed-off-by: Vaibhav Jindal Signed-off-by: Khem Raj --- meta-oe/recipes-benchmark/wrk/wrk_4.2.0.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-oe/recipes-benchmark/wrk/wrk_4.2.0.bb b/meta-oe/recipes-benchmark/wrk/wrk_4.2.0.bb index 47ca9ada01..1eaf97a382 100644 --- a/meta-oe/recipes-benchmark/wrk/wrk_4.2.0.bb +++ b/meta-oe/recipes-benchmark/wrk/wrk_4.2.0.bb @@ -23,6 +23,10 @@ EXTRA_OEMAKE = "\ CFLAGS='${CFLAGS} -I${RECIPE_SYSROOT}/usr/include/luajit-2.1' \ " +# wrk's Makefile is in-tree only (relative obj/, src/) and its obj/bytecode.c +# rule doesn't depend on obj/, so create it before make runs in ${S}. +do_compile[dirs] = "${S}/obj ${S}" + do_compile() { export LUA_PATH="${RECIPE_SYSROOT_NATIVE}/usr/share/luajit-2.1/?.lua;;" oe_runmake