Skip to content

Comments

libfuse: split build systems and simplify package#3452

Open
albestro wants to merge 6 commits intodevelopfrom
alby/libfuse-split-buildsystem
Open

libfuse: split build systems and simplify package#3452
albestro wants to merge 6 commits intodevelopfrom
alby/libfuse-split-buildsystem

Conversation

@albestro
Copy link
Contributor

Changes:

  • split meson and autotools buildsystem, which streamlines and simplifies the package recipe
  • autotools: do not depend anymore on meson
  • autotools: drop manual management of autoreconf and its parameters

TODO:

  • autotools do not have access anymore to the meson specific "default_library" variant

note: this refactoring started because of a problem I had with autotools, which after this work turns out to not be a problem anymore.

@albestro albestro force-pushed the alby/libfuse-split-buildsystem branch from 647e98e to 0bfc8cf Compare February 17, 2026 12:36
@albestro
Copy link
Contributor Author

As said above, before this refactoring I had a problem. Specifically, the problem happens building libfuse@2.9 (i.e. using autotools) and it shows up as

libtool: Version mismatch error.  This is libtool 2.5.4, but the
libtool: definition of this LT_INIT comes from libtool 2.4.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.5.4
libtool: and run autoconf again.

I don't know much about autotools build system, but from my investigation I'd say that this problem was due to the order of include paths -I. In particular, /usr/share/aclocal was given before libtool one, and it is reasonable to think that it ended up using macros from system provided libtool (it was actually 2.4.6), but with the executable of the build dependency (libtool 2.5.4)

BEFORE

==> [2026-02-18-09:26:08.164442] '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/autoconf-2.72-kknul26om4h7xx6ipw7geofwgjsjw4e7/bin/autoreconf' '-ivf'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/automake-1.18.1-utgdw2nmkydqcvpmshyykriyhwkjh4yq/share/aclocal'
'-I' '/usr/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/gettext-1.0-xbic5b2j4mwqk3g6aawr7m67huta7np3/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/libtool-2.5.4-hsdn3hoagdd7yhslxb2thawtzhumzw5o/share/aclocal'
'-I' '/capstor/store/cscs/cscs/csstaff/ialberto/alps/aarch64/sw-stack/view/share/aclocal' 
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/pkgconf-2.5.1-ywb2le5cdfjhi35vouggocfc6hd4wsws/share/aclocal'

NOW (with force_autoreconf=True)

==> [2026-02-18-09:59:58.306306] '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/autoconf-2.72-kknul26om4h7xx6ipw7geofwgjsjw4e7/bin/autoreconf' '-ivf'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/gettext-1.0-xbic5b2j4mwqk3g6aawr7m67huta7np3/share/aclocal'
'-I' '/tmp/tmp.tqWhRm1Ouh/spack-store/linux-neoverse_v2/libtool-2.5.4-hsdn3hoagdd7yhslxb2thawtzhumzw5o/share/aclocal'
'-I' '/usr/share/aclocal'

With this refactoring, the management is completely delegated to spack, who does the right thing. With the refactoring it works both with and without force_autoreconf, anyway I'd opt for not forcing it.

Copy link
Member

@michaelkuhn michaelkuhn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM and works for me (Fedora 43, GCC 15)

I needed to apply #3504 for libfuse@2 to compile, though.

depends_on("libtool", type="build")
depends_on("gettext", type="build")

depends_on("gmake", type="build")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gmake is probably also only required for autotools, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in c5a7d7c 😉

@alalazo alalazo self-assigned this Feb 23, 2026
Copy link
Member

@alalazo alalazo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to merge if you're not waiting for further comments / reviews

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants