On Sun, 15 Sep 2024 09:36:10 +0200 Willem de Bruijn wrote: > > You’re right, the patch is incorrect, I could have explained better. > > I’m seeing an issue with an out-of-tree cross compilation build of > > kselftest and can’t figure out what’s wrong. > > > > make --keep-going --jobs=32 O=/tmp/build > > INSTALL_PATH=/tmp/build/kselftest_install \ > > ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- \ > > CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- kselftest-install > > > > [...] > > make[4]: Entering directory > > '/home/anders/src/kernel/linux/tools/testing/selftests/net/lib' > > CC csum > > /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: > > cannot open output file /tmp/build/kselftest/net/lib/csum: No such > > file or directory > > collect2: error: ld returned 1 exit status > > [...] > > > > Any thoughts on what might be causing this? > > I wonder if this is due to the O= argument. > > Last week I noticed that some TARGETs explicitly have support for > this, like x86. Added in 2016 in commit a8ba798bc8ec6 ("selftests: > enable O and KBUILD_OUTPUT"). But by now this support is hardly > universal. amd-pstate does not have this infra, for instance. > > Though if the only breakage is in net/lib, then that does not explain it fully. Some funny business with this install target, I haven't investigated fully but the dependency on all doesn't seem to do its job, and the install target has a copy/paste of all with this line missing: diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile index 3b7df5477317..3aee8e7b9993 100644 --- a/tools/testing/selftests/Makefile +++ b/tools/testing/selftests/Makefile @@ -261,6 +261,7 @@ ifdef INSTALL_PATH @ret=1; \ for TARGET in $(TARGETS) $(INSTALL_DEP_TARGETS); do \ BUILD_TARGET=$$BUILD/$$TARGET; \ + mkdir -p $$BUILD_TARGET; \ $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET install \ INSTALL_PATH=$(INSTALL_PATH)/$$TARGET \ SRC_PATH=$(shell readlink -e $$(pwd)) \ Andres, please feel free to test / write commit message and submit this one liner, but even with that the build for some targets fails for me. "make [..] install" seems wobbly.