From: Jan Palus <jpalus@fastmail.com>
To: linux-xfs@vger.kernel.org
Cc: Reilly Brogan <reilly@reillybrogan.com>
Subject: Re: xfsprogs: 7.1.0 Build Failure
Date: Thu, 16 Jul 2026 22:02:35 +0200 [thread overview]
Message-ID: <alkzIx0H-cn169RI@pine.grzadka> (raw)
In-Reply-To: <CABqFQkar-sMMyZGw4KfAV51x7F65ddF7d8cszQ8iWiprvnKMFQ@mail.gmail.com>
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
next prev parent reply other threads:[~2026-07-16 20:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 17:10 xfsprogs: 7.1.0 Build Failure Reilly Brogan
2026-07-14 18:25 ` Holger Hoffstätte
2026-07-15 15:07 ` Reilly Brogan
2026-07-16 20:02 ` Jan Palus [this message]
2026-07-16 20:30 ` Reilly Brogan
2026-07-16 21:01 ` Jan Palus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alkzIx0H-cn169RI@pine.grzadka \
--to=jpalus@fastmail.com \
--cc=linux-xfs@vger.kernel.org \
--cc=reilly@reillybrogan.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox