Linux XFS filesystem development
 help / color / mirror / Atom feed
* xfsprogs: 7.1.0 Build Failure
@ 2026-07-14 17:10 Reilly Brogan
  2026-07-14 18:25 ` Holger Hoffstätte
  2026-07-16 20:02 ` Jan Palus
  0 siblings, 2 replies; 6+ messages in thread
From: Reilly Brogan @ 2026-07-14 17:10 UTC (permalink / raw)
  To: linux-xfs

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
```

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).

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: xfsprogs: 7.1.0 Build Failure
  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
  1 sibling, 1 reply; 6+ messages in thread
From: Holger Hoffstätte @ 2026-07-14 18:25 UTC (permalink / raw)
  To: Reilly Brogan, linux-xfs

On 2026-07-14 19: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
> ```
> 
> 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).

Nope - I see the same on Gentoo with bash and GNU libtool:

Installing scrub-install
gmake[1]: Nothing to be done for 'install'.
../install-sh -o portage -g portage -m 755 -d /usr/libexec/xfsprogs
/bin/sh ../libtool --quiet --mode=install ../install-sh -o portage -g portage -m 755 xfs_healer xfs_healer_start /usr/libexec/xfsprogs
Usage: /tmp/portage/sys-fs/xfsprogs-7.1.0/work/xfsprogs-7.1.0/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool:   error: '/usr/libexec/xfsprogs' is not a directory
gmake[1]: *** [Makefile:72: install-healer] Error 1
make: *** [Makefile:134: healer-install] Error 2

-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: xfsprogs: 7.1.0 Build Failure
  2026-07-14 18:25 ` Holger Hoffstätte
@ 2026-07-15 15:07   ` Reilly Brogan
  0 siblings, 0 replies; 6+ messages in thread
From: Reilly Brogan @ 2026-07-15 15:07 UTC (permalink / raw)
  To: Holger Hoffstätte; +Cc: linux-xfs

I think the root issue here is that something (install-sh?) is
checking for the existence of the output directory in the buildroot
itself. In AerynOS the buildroot is an isolated chroot with the
minimal set of required dependencies/toolchain packages installed.
Since there's no reason for xfsprogs to be installed in the case of
AerynOS the directory `/usr/lib/xfsprogs` does not exist. Instead it
should be checking for the directory in the installroot where it
should exist because it was created prior to the install step that
failed.

I'm not sure where to fix that specifically but
https://raw.githubusercontent.com/AerynOS/recipes/refs/heads/main/x/xfsprogs/pkg/0001-Maybe-fix.patch
is a viable workaround for the moment.

On Tue, Jul 14, 2026 at 1:25 PM Holger Hoffstätte
<holger@applied-asynchrony.com> wrote:
>
> On 2026-07-14 19: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
> > ```
> >
> > 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).
>
> Nope - I see the same on Gentoo with bash and GNU libtool:
>
> Installing scrub-install
> gmake[1]: Nothing to be done for 'install'.
> ../install-sh -o portage -g portage -m 755 -d /usr/libexec/xfsprogs
> /bin/sh ../libtool --quiet --mode=install ../install-sh -o portage -g portage -m 755 xfs_healer xfs_healer_start /usr/libexec/xfsprogs
> Usage: /tmp/portage/sys-fs/xfsprogs-7.1.0/work/xfsprogs-7.1.0/libtool [OPTION]... [MODE-ARG]...
> Try 'libtool --help' for more information.
> libtool:   error: '/usr/libexec/xfsprogs' is not a directory
> gmake[1]: *** [Makefile:72: install-healer] Error 1
> make: *** [Makefile:134: healer-install] Error 2
>
> -h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: xfsprogs: 7.1.0 Build Failure
  2026-07-14 17:10 xfsprogs: 7.1.0 Build Failure Reilly Brogan
  2026-07-14 18:25 ` Holger Hoffstätte
@ 2026-07-16 20:02 ` Jan Palus
  2026-07-16 20:30   ` Reilly Brogan
  1 sibling, 1 reply; 6+ messages in thread
From: Jan Palus @ 2026-07-16 20:02 UTC (permalink / raw)
  To: linux-xfs; +Cc: Reilly Brogan

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: xfsprogs: 7.1.0 Build Failure
  2026-07-16 20:02 ` Jan Palus
@ 2026-07-16 20:30   ` Reilly Brogan
  2026-07-16 21:01     ` Jan Palus
  0 siblings, 1 reply; 6+ messages in thread
From: Reilly Brogan @ 2026-07-16 20:30 UTC (permalink / raw)
  To: Jan Palus; +Cc: linux-xfs

> 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 :).

I am 100% certain we are using slibtool. On AerynOS `/usr/bin/libtool`
is a symlink to `slibtool` and slibtool checks to see what it was
invoked as which perhaps explains why the error message claims to be
libtool.

The only part of GNU libtool we have packaged is libltdl as it's a
dependency of a few other packages in our repo.

Regardless to the xfsprogs developers feel free to use my patch
without giving me any attribution. I unfortunately have too much on my
plate right now to bring it up to the mailing list standards and
submit it properly.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: xfsprogs: 7.1.0 Build Failure
  2026-07-16 20:30   ` Reilly Brogan
@ 2026-07-16 21:01     ` Jan Palus
  0 siblings, 0 replies; 6+ messages in thread
From: Jan Palus @ 2026-07-16 21:01 UTC (permalink / raw)
  To: Reilly Brogan; +Cc: linux-xfs

On 16.07.2026 15:30, Reilly Brogan wrote:
> > 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 :).
> 
> I am 100% certain we are using slibtool. On AerynOS `/usr/bin/libtool`
> is a symlink to `slibtool` and slibtool checks to see what it was
> invoked as which perhaps explains why the error message claims to be
> libtool.

Do note it's not /usr/bin/libtool that gets invoked in your output, at
least directly.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-16 21:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2026-07-16 20:30   ` Reilly Brogan
2026-07-16 21:01     ` Jan Palus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox