On Sun, 30 Jun 2024 at 05:03, Nick Bowler <nbowler@draconx.ca> wrote:
[...]

autoreconf decides to run libtoolize based on an m4 trace right after
it runs aclocal, looking for expansion of LT_INIT (or the older
AC_PROG_LIBTOOL).

This means that for this to work at all:

 (1) a macro definition of LT_INIT must be available at this time, and
 (2) the LT_INIT macro must actually be expanded directly, and
 (3) tracing must not be disabled.

Normally aclocal will take care of (1).  Since this tool is part of
Automake, this is something you have changed in your setup so it's
plausible this is the underlying cause of your problem.

aclocal works basically by grepping your configure.ac and all the files
it knows about looking for things that look like macro definitions and
things that look like macro expansions, and copying in any missing
definitions.  So for this to work:

  (1.1) aclocal must know where to find the definition of LT_INIT.
  (1.2) aclocal must see the place where LT_INIT is expanded.

Normally, aclocal and libtool are installed to the same prefix, libtool
will install its macros into the default aclocal search path, and
aclocal will find the macro definitions.  If they are installed into
different prefixes, aclocal will need help, you can use the dirlist
mechanism (recommended for a permanent installation) or for a quick fix,
set the ACLOCAL_PATH environment variable to the installed location of
the libtool macros.

Thanks for explaining this, Nick, and in fact the problem was self-inflicted as I was installing the prerelease Automake versions to a different prefix than libtool (and the base automake) without taking steps to help aclocal find the libtool macro definitions.

After installing Libtool to the same prefix as the prerelease Automake, the problem disappeared.

Cheers,
Dave Hart