On Sun, 15 Sept 2024 at 16:46, Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > 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. Thank you Jakub, that solved this issue, I'll send a patch shortly. > "make [..] install" seems wobbly. Yes it is. Cheers, Anders