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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.