Skip to content

build: declare the automake 1.16 requirement - #4731

Open
ThalesBarretto wants to merge 1 commit into
gluster:develfrom
ThalesBarretto:build-require-automake-1.16
Open

build: declare the automake 1.16 requirement#4731
ThalesBarretto wants to merge 1 commit into
gluster:develfrom
ThalesBarretto:build-require-automake-1.16

Conversation

@ThalesBarretto

@ThalesBarretto ThalesBarretto commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

libglusterfs/src/Makefile.am sets AUTOMAKE_OPTIONS = subdir-objects
(0dbca87, #4593 "Fix remove subdir-objects is disabled warnings")
and compiles $(CONTRIBDIR)/xxhash/xxhash.c, a source outside its own
directory. automake older than 1.16 does not create the .deps
directory for such objects, so the build dies well after configure
has succeeded, with a message that names neither automake nor the
option that requires it:

Makefile:998: ../../contrib/xxhash/.deps/libglusterfs_la-xxhash.Plo:
No such file or directory

configure.ac declares no minimum, so nothing catches this earlier. Ask
AM_INIT_AUTOMAKE for 1.16 and let automake report it, and replace the
stale comment underneath -- which described an attempt to enable
subdir-objects globally that was reverted for this very reason ("but
libglusterfs fails to build with contrib") -- with what is actually
required now.

Measured across 10 distributions: automake 1.15.1 (openSUSE Leap 15.6)
is the only version below the floor and the only one that fails.
1.16.1 (AlmaLinux 8, Ubuntu 20.04), 1.16.2 (CentOS Stream 9), 1.16.5
(Debian 12, Ubuntu 22.04/24.04), 1.17 (Debian 13, Fedora 42) and 1.18.1
(openSUSE Tumbleweed, Arch) all build. 1.16.1 is the lowest verified
working version; 1.16.0 was not tested.

With this change, Leap 15.6 stops in twelve seconds with

configure.ac:21: error: require Automake 1.16, but have 1.15.1

instead of failing minutes into the build, and Debian 13 and CentOS
Stream 9 are unaffected (configure, make and make install all succeed
exactly as before).

No release branch is affected: release-11's libglusterfs/src/Makefile.am
does not set subdir-objects, which is why openSUSE's shipped glusterfs
11.2 builds on Leap today.

Fixes: #4730

libglusterfs/src/Makefile.am sets AUTOMAKE_OPTIONS = subdir-objects
(0dbca87, gluster#4593 "Fix remove subdir-objects is disabled warnings")
and compiles $(CONTRIBDIR)/xxhash/xxhash.c, a source outside its own
directory.  automake older than 1.16 does not create the .deps
directory for such objects, so the build dies well after configure
has succeeded, with a message that names neither automake nor the
option that requires it:

  Makefile:998: ../../contrib/xxhash/.deps/libglusterfs_la-xxhash.Plo:
  No such file or directory

configure.ac declares no minimum, so nothing catches this earlier.  Ask
AM_INIT_AUTOMAKE for 1.16 and let automake report it, and replace the
stale comment underneath -- which described an attempt to enable
subdir-objects globally that was reverted for this very reason ("but
libglusterfs fails to build with contrib") -- with what is actually
required now.

Measured across 10 distributions: automake 1.15.1 (openSUSE Leap 15.6)
is the only version below the floor and the only one that fails.
1.16.1 (AlmaLinux 8, Ubuntu 20.04), 1.16.2 (CentOS Stream 9), 1.16.5
(Debian 12, Ubuntu 22.04/24.04), 1.17 (Debian 13, Fedora 42) and 1.18.1
(openSUSE Tumbleweed, Arch) all build.  1.16.1 is the lowest verified
working version; 1.16.0 was not tested.

With this change, Leap 15.6 stops in twelve seconds with

  configure.ac:21: error: require Automake 1.16, but have 1.15.1

instead of failing minutes into the build, and Debian 13 and CentOS
Stream 9 are unaffected (configure, make and make install all succeed
exactly as before).

No release branch is affected: release-11's libglusterfs/src/Makefile.am
does not set subdir-objects, which is why openSUSE's shipped glusterfs
11.2 builds on Leap today.

Fixes: gluster#4730
Signed-off-by: Thales Antunes de Oliveira Barretto <thales.barretto.git@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

devel requires automake >= 1.16 but declares no minimum; older automake fails mid-build with a message that names neither

1 participant