[krbdev.mit.edu #3901] build fails using Autoconf 2.59e (2.60 to be)

Russ Allbery via RT rt-comment at krbdev.mit.edu
Mon Jun 19 21:58:34 EDT 2006


Ken Raeburn via RT <rt-comment at krbdev.mit.edu> writes:
> On Jun 19, 2006, at 19:21, Russ Allbery <rra at stanford.edu> via RT wrote:

>> making all in util/support...
>> make[2]: Entering directory `/home/eagle/dvl/krb5/src/util/support'
>> make[2]: *** No rule to make target `all-liblinks', needed by
>> `all-unix'.  Stop.

> Does "all-liblinks:" show up in that makefile?

No, and investigating a little further it looks like the problem may be
that @lib_frag@ and @libobj_frag@ are not being substituted by configure
when using Autoconf 2.59e.

Looking at the generated configure script, Autoconf 2.59e generates the
following sed logic:

/^[      ]*@lib_frag@[   ]*$/{
r $lib_frag
d
}

So, in other words, it's only doing AC_SUBST_FILE substitutions if the
substitution (@lib_frag@ in this case) appears at the beginning of the
line preceeded only by whitespace.  util/support/Makefile.in has:

    # @lib_frag@
    # @libobj_frag@

and therefore it loses.

It looks like this is an intentional change.  From the Autoconf NEWS file:

** AC_SUBST_FILE
  The substitution now occurs only when @variable@ is on a line by itself,
  optionally surrounded by spaces and tabs.  The whole line is replaced.

I think just removing the # markers would be a backward-compatible change.
It looks like many Makefile.in files in the tree are affected.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>




More information about the krb5-bugs mailing list