autom4te is maintained by autoconf, not automake; redirecting your patch there.
On 03/07/2017 04:00 PM, Christophe de Dinechin wrote: > The symptoms are something like: > > Use of uninitialized value $msg in concatenation (.) or string at > /usr/local/Cellar/autoconf/2.69/bin/autom4te line 1032. > Use of uninitialized value $stacktrace in pattern match (m//) at > /usr/local/Cellar/autoconf/2.69/bin/autom4te line 1032. > unknown channel m4trace: -1- AS_VAR_APPEND(ac_configure_args, " '$ac_arg'") > at /usr/local/Cellar/autoconf/2.69/share/autoconf/Autom4te/Channels.pm > line 638. > Autom4te::Channels::msg('m4trace: -1- AS_VAR_APPEND(ac_configure_args, > " \'$ac_arg\'")\x{a}', undef, 'warning: ', 'partial', 0) called at > /usr/local/Cellar/autoconf/2.69/bin/autom4te line 1032 > > The root cause is m4 traces without a file/line number shown. > > So instead of something like: > > m4trace:configure.ac:48: -1- ... > > you have something like: > > m4trace: -1- ... > > In the scenarios I ran into, this is due to some error that throws m4 out. > Eliminating these messages from the temporary m4 file being generated > (which will not complete anyway) is sufficient for the rest of autoconf > to complete, until it prints errors. > > In my case, the final error looks like: > > common/Makefile.am:20: error: Libtool library used but 'LIBTOOL' is > undefined > common/Makefile.am:20: The usual way to define 'LIBTOOL' is to add > 'LT_INIT' > common/Makefile.am:20: to 'configure.ac' and run 'aclocal' and 'autoconf' > again. > common/Makefile.am:20: If 'LT_INIT' is in 'configure.ac', make sure > common/Makefile.am:20: its definition is in aclocal's search path. > autoreconf: automake failed with exit status: 1 > > But I've seen various reports for other root causes that ran into the same > problem (see bug report) > > Signed-off-by: Christophe de Dinechin <dinec...@redhat.com> > --- > bin/autom4te.in | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/bin/autom4te.in b/bin/autom4te.in > index 964ac1a..b3f3831 100644 > --- a/bin/autom4te.in > +++ b/bin/autom4te.in > @@ -821,6 +821,8 @@ EOF > my $traces = new Autom4te::XFile ($tcache . $req->id, "<"); > while ($_ = $traces->getline) > { > + # Traces without file/line > + next if (m{^m4trace: -(\d+)- ([^(]+)\((.*)$}); Would it be better to keep the error message, but set the file and line to placeholders, instead of completely discarding the message? > # Trace with arguments, as the example above. We don't try > # to match the trailing parenthesis as it might be on a > # separate line. > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature