remctl doesn't build with automake 1.17+
When I try to build (with automake 1.18.1), I get:
automake: warnings are treated as errors
Makefile.am:82: warning: escaping \# comment markers is not portable
Makefile.am: installing 'build-aux/depcomp'
autoreconf: error: automake failed with exit status: 1
As of automake 1.17 (2024-07-11):
- Variables using escaped \# will trigger portability warnings, but be
retained when appended. GNU Make & BSD Makes are known to support it.
(bug#7610)
configure.ac has:
AM_INIT_AUTOMAKE([1.11 check-news dist-xz foreign silent-rules subdir-objects
-Wall -Werror])
Makefile.am has:
tests/data/acls/val\#id tests/data/acls/val.id \
The result of this combination is that the build fails. (Note that I haven't actually tested 1.17, but the error message, Makefile.am line, and NEWS entry seem very suggestive.)
The obvious approaches to me are:
- Drop that test file
- Figure out some other escaping scheme (the automake commit says "POSIX does not provide any way of retaining the # marker in variables." so I'm not sure there is one?)
- drop
-Wall -Werror(possibly by ignoring whatever the relevant warning type is, or removing-Werror)
This patch fixes this, roughly in line with that third proposal, though I'm not sure it's the approach you'd actually want to take:
--- a/configure.ac 2025-08-27 21:08:49.721491608 -0400
+++ b/configure.ac 2025-08-27 21:09:56.113536746 -0400
@@ -14,7 +14,7 @@
AC_CONFIG_LIBOBJ_DIR([portable])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 check-news dist-xz foreign silent-rules subdir-objects
- -Wall -Werror])
+ -Wall -Werror -Wno-portability])
AM_MAINTAINER_MODE
dnl Detect unexpanded macros.
This problem should already be fixed in Git as of cad43fe0472db09b3f267f0c212d34a23360dc05. Are you testing with that, or with the last release? (I know this is overdue for a new release.)
Ah, now I see it. Sorry, I was testing with the released version. Seems like it should be fine.