Re: xfsprogs: 7.1.0 Build Failure
Jan Palus <[email protected]>
| Newsgroups | org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <[email protected]> |
On 14.07.2026 12:10, Reilly Brogan wrote: > We're seeing a build failure on AerynOS with 7.1.0 that we didn't get > with 7.0.1: > > ``` > Installing healer-install > ../install-sh -o root -g root -m 755 -d /usr/lib/xfsprogs > /usr/bin/dash ../libtool --quiet --mode=install ../install-sh -o root > -g root -m 755 xfs_healer xfs_healer_start /usr/lib/xfsprogs > Usage: /mason/build/x86_64/xfsprogs-7.1.0.tar.xz/libtool [OPTION]... > [MODE-ARG]... > Try 'libtool --help' for more information. > libtool: error: '/usr/lib/xfsprogs' is not a directory > make[1]: *** [Makefile:72: install-healer] Error 1 > ``` The issue is a combination of how libtool works and how xfsprogs invokes libtool especially with regards to $(DESTDIR). If given single file to copy libtool checks destination param -- if it's directory then file is copied with same name, or if it's not directory (ie destination does not exist) the basename is assumed to be new file name. Either though it is not xfsprogs' intention that's why it works throughout all Makefiles. Single file is "passed through" if last component does not exist and later `install-sh` takes care of adjusting destination with $(DESTDIR). Things look very different when multiple sources are given. In this case libtool mandates existence of destination directory and `install-sh` does not get a chance to incorporate $(DESTDIR). Source: https://cgit.git.savannah.gnu.org/cgit/libtool.git/tree/build-aux/ltmain.in#n2523 Note the issue is a direct consequence of: https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/commit/?id=79551362141a051faf9c3d504fe18ee34ca800f8 and I agree it should be wrapped in a loop. > > We use slibtool as our libtool implementation and dash as /usr/bin/sh > so perhaps this is an incompatibility with either of those (likely > slibtool). > Are you 100% positive you're using slibtool? The error above looks very much like coming from GNU Libtool (as well as help message...). I did test slibtool and it actually works for me in similar case which could lead to a conclusion about slibtool incompatibility :). > It looks like the issue is in `healer/Makefile`. On AerynOS at least > `$(LTINSTALL) -m 755 $(BUILD_TARGETS) $(PKG_LIBEXEC_DIR)` doesn't work > if there are multiple BUILD_TARGETS, and this is the only Makefile > that uses LTINSTALL like that. If I replace it with a loop to install > each target separately the build succeeds as expected. > > Regards, > Reilly