On Mon, 2019-08-26 at 08:26 -0700, Paul Eggert wrote: > Paul Smith wrote: > > > * Replace local portability code with Gnulib content. Unfortunately due to > > a > > problem with Gnulib support for getloadavg, this forces a requirement on > > Automake 1.16 or above in order to build from Git. See README.git. > > bootstrap.conf and configure.ac say "1.16.1" so presumably NEWS > should say "1.16.1" rather than "1.16".
OK. > However, I assume this note refers to the email thread rooted here: > > https://lists.gnu.org/r/bug-gnulib/2018-06/msg00024.html > > and it's not clear to me what the Gnulib/Automake portability problem > is. Agreed. As far as I know no one every figured it out, Bruno just suggested moving to the latest and that fixed it. I just tried this again on Ubuntu 18.04.3, as follows: $ automake --version automake (GNU automake) 1.15.1 $ git clean -fdx $ ./bootstrap && ./configure && make distcheck ... make[2]: Leaving directory '/home/psmith/src/make/make/make-4.2.90/_build/sub/doc' make[2]: Entering directory '/home/psmith/src/make/make/make-4.2.90/_build/sub' Makefile:1126: lib/.deps/getloadavg.Po: No such file or directory make[2]: *** No rule to make target 'lib/.deps/getloadavg.Po'. Stop. Makefile:1258: recipe for target 'distclean-recursive' failed make[1]: *** [distclean-recursive] Error 1 Makefile:1466: recipe for target 'distcheck' failed make: *** [distcheck] Error 1 It appears that the target that's failing for me, that you didn't try in your test, is "make distclean". > For what it's worth, Emacs uses Gnulib getloadavg, but since Emacs > switched from Automake to GNU make in 2017 its build procedure does > not require any particular Automake version. Perhaps GNU Make could > start depending on (an older version of) GNU Make, and take this > approach in some future version. GNU make includes a shell script that can be used to build itself so it doesn't need to rely on an older version of GNU make. However I'm not excited about replacing all the capabilities provided by automake, in a hand-rolled set of makefiles. > Conversely, Coreutils uses Gnulib getloadavg and still uses Automake, > but it seems to work fine requiring only Automake 1.11.2 or later. > Perhaps this is because Coreutils switched to non-recursive 'make' in > 2012. This might be another approach GNU Make could take. As far as I'm aware, GNU make already uses a non-recursive configuration of autoconf/automake at least for its own code... that is, there's only one Makefile.am at the root. The lib/Makefile.am is created by gnulib. I'm not sure how to handle that non-recursively (if it's possible). I guess I also have po/Makefile.in.in but I'm not sure how to make that non-recursive either. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make