autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: m4-1.4.4b problems


From: Eric Blake
Subject: Re: m4-1.4.4b problems
Date: Thu, 22 Jun 2006 14:30:07 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Eric Blake <ebb9 <at> byu.net> writes:

> > 
> > $ automake-1.9 --gnits  tests/Makefile
> > NONE:0: /packages/gnu/bin/m4: `m4_symbols' from frozen file not found in 
builtin table!
> > autom4te: /packages/gnu/bin/m4 failed with exit status: 1
> > automake-1.9: autoconf failed with exit status: 1
> > make: *** [Makefile.in] Fehler 1
> > 
> > I had m4-1.4o installed at the same place earlier.

Even worse than I thought:

http://cvs.savannah.gnu.org/viewcvs/m4/src/freeze.c?
rev=1.1.1.4&root=m4&only_with_tag=m4-1_4o&view=markup

shows that m4-1.4o is 6 years old, added new builtins, but stuck with format 
version 1.  Therefore, the frozen files mention that on reload, these new 
builtins should be instantiated, and m4-1.4.x can parse the file but does not 
know what to do with it.  It wasn't until post m4-1.4o that frozen file format 
2 was created (current m4 CVS has been known by the name m4-1.4p and/or 1.9a, 
but no snapshot release has been made since m4-1.4o); where m4 1.4.x can't even 
parse the file.

Would it be worth teaching m4 1.4.5 and 2.0 that if an unknown builtin is 
encountered in the frozen file, but then is never used in the subsequent input, 
that it can be safely ignored?  I think that this is doable by inventing a 
placeholder builtin that is installed any time an unknown builtin is 
encountered during reload rather than the current behavior of erroring out 
during reload; the placeholder will cause m4 to error if expanded, but should 
allow m4 1.4.5 to use the format 1 frozen file created by m4 1.4o as long as 
the problem macro is never used.

On the other hand, would it be worth teaching m4sugar that if a frozen file 
starts with the first non-comment line of V2, but the underlying m4 is version 
1.4.x, that it should imply --melt since the frozen file cannot be parsed by 
m4?  This would only help with CVS or m4 2.0 created frozen files being loaded 
by m4 1.4.x (since m4 1.4o didn't use version 2).  But that sounds like 
something that can wait for post autoconf-2.60, if it is needed at all.

-- 
Eric Blake






reply via email to

[Prev in Thread] Current Thread [Next in Thread]