On Fri, 12 Feb 2021 at 13:29, Eric Sandeen <sandeen@xxxxxxxxxxx> wrote: > > On 2/12/21 2:51 PM, Markus Mayer wrote: > >> To prevent issues when the ".o" extension appears in a directory path, > >> ensure that the ".o" -> ".lo" substitution is only performed for the > >> final file extension. > > > > If the subject should be "[PATCH] xfsprogs: ...", please let me know. > > Nah, that's fine, I noticed it. > > So did you have a path component that had ".o" in it that got substituted? > Is that what the bugfix is? Yes and yes. Specifically, I was asked to name the build directory in our build system "workspace.o" (or something else ending in .o) because that causes the automated backup to skip backing up temporary build directories, which is what we want. There is an existing exclusion pattern that skips .o files during backup runs, and they didn't want to create specialized rules for different projects. Hence the request for the oddly named directory to make it match the existing pattern. We also have a symlink without the ".o" extension (workspace -> workspace.o) which is commonly used to access the work space, but symlinks frequently get expanded when scripts run. In the end, the xfsprogs build system saw the full path without the symlink (".../workspace.o/.../xfsprogs-5.8.0/...") and started substituting workspace.o with workspace.lo. And then the build died. Like this: >>> xfsprogs 5.8.0 Building PATH="/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/host/bin:/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /usr/bin/make -j33 -C /local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/ [HEADERS] include [HEADERS] libxfs Building include [LN] disk make[3]: Nothing to be done for 'include'. Building libfrog [CC] gen_crc32table [GENERATE] crc32table.h make[4]: *** No rule to make target '/local/users/jenkins/workspace.lo/buildroot_linux-5.4_llvm/output/arm64/target/usr/include/uuid/uuid.h', needed by 'bitmap.lo'. Stop. make[4]: *** Waiting for unfinished jobs.... [CC] avl64.lo include/buildrules:35: recipe for target 'libfrog' failed make[3]: *** [libfrog] Error 2 Makefile:91: recipe for target 'default' failed make[2]: *** [default] Error 2 package/pkg-generic.mk:247: recipe for target '/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/.stamp_built' failed make[1]: *** [/local/users/jenkins/workspace.o/buildroot_linux-5.4_llvm/output/arm64/build/xfsprogs-5.8.0/.stamp_built] Error 2 Regards, -Markus