Skip Menu |
 

Subject: build fails using Autoconf 2.59e (2.60 to be)
Download (untitled) / with headers
text/plain 1.1KiB
If util/reconf is run with Autoconf 2.59e (using the snapshot version
shipped with Debian at the time of this report), the build then fails.
One obvious problem is that some Autoconf variables are now relative to
datarootdir and therefore datarootdir has to be set in Makefiles (mandir
in particular is subject to this) or installation locations are wrong.
However, there is some other more subtle problem that causes this failure:

+ cmp -s osconf.new osconf.h
+ rm -f osconf.h
+ cp osconf.new osconf.h
rm -f osconf.new
make[1]: Leaving directory `/home/eagle/dvl/krb5/src/include'
making all in util...
make[1]: Entering directory `/home/eagle/dvl/krb5/src/util'
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.
make[2]: Leaving directory `/home/eagle/dvl/krb5/src/util/support'
make[1]: *** [all-recurse] Error 1
make[1]: Leaving directory `/home/eagle/dvl/krb5/src/util'
make: *** [all-recurse] Error 1

I haven't investigated this in any more detail. Using the released
Autoconf 2.59 works fine.
From: Ken Raeburn <raeburn@MIT.EDU>
Subject: Re: [krbdev.mit.edu #3901] build fails using Autoconf 2.59e (2.60 to be)
Date: Mon, 19 Jun 2006 19:29:39 -0400
To: MIT Kerberos RT <rt@krbdev.mit.edu>
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.1KiB
On Jun 19, 2006, at 19:21, Russ Allbery <rra@stanford.edu> via RT wrote:
Show quoted text
> If util/reconf is run with Autoconf 2.59e (using the snapshot version
> shipped with Debian at the time of this report), the build then fails.
> One obvious problem is that some Autoconf variables are now
> relative to
> datarootdir and therefore datarootdir has to be set in Makefiles
> (mandir
> in particular is subject to this) or installation locations are wrong.

Okay, that'd go in config/pre.in...

Show quoted text
> 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? There should be a
line coming from post.in that makes it depend on $(LIBLINKS), which
should be set to whatever the top-level configure script substituted
for @LIBLINKS@, which shouldn't be empty....

We can use earlier versions of autoconf to build our release, but if
it's an autoconf bug it'd be good to catch it before they make a
final release.... If I get a chance, perhaps I'll look into it
later....

Ken
From: Russ Allbery <rra@stanford.edu>
To: rt@krbdev.mit.edu
Subject: Re: [krbdev.mit.edu #3901] build fails using Autoconf 2.59e (2.60 to be)
Date: Mon, 19 Jun 2006 18:58:30 -0700
RT-Send-Cc:
Download (untitled) / with headers
text/plain 1.3KiB
Ken Raeburn via RT <rt-comment@krbdev.mit.edu> writes:
Show quoted text
> On Jun 19, 2006, at 19:21, Russ Allbery <rra@stanford.edu> via RT wrote:

Show quoted text
>> 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.

Show quoted text
> 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@stanford.edu) <http://www.eyrie.org/~eagle/>
From: Ken Raeburn <raeburn@MIT.EDU>
Subject: Re: [krbdev.mit.edu #3901] build fails using Autoconf 2.59e (2.60 to be)
Date: Tue, 20 Jun 2006 15:30:04 -0400
To: MIT Kerberos RT <rt@krbdev.mit.edu>
RT-Send-Cc:
On Jun 19, 2006, at 21:58, Russ Allbery via RT wrote:
Show quoted text
> 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.

Grr.

Show quoted text
> I think just removing the # markers would be a backward-compatible
> change.

I think it would, actually.

Our process for generating makefiles on Windows starts with the same
Makefile.in and runs it through a C program that does no autoconf-
style @FOO@ substitutions. However, if a line starts with @, it's
replaced with a blank line. We don't actually use this fact at all
currently, so far as I know, but it would let us make this change.

(Or, if we switch from wconfig.c to wconfig.pl for generating the
Windows makefiles, we could actually do real substitutions....)

Ken
From: raeburn@mit.edu
Subject: SVN Commit
Download (untitled) / with headers
text/plain 2.3KiB
Change all file substitutions so that @-patterns start at the beginning
of their lines, as now required by autoconf 2.60 (released Monday).


Commit By: raeburn



Revision: 18249
Changed Files:
U trunk/src/appl/libpty/Makefile.in
U trunk/src/appl/telnet/libtelnet/Makefile.in
U trunk/src/lib/apputils/Makefile.in
U trunk/src/lib/crypto/Makefile.in
U trunk/src/lib/crypto/aes/Makefile.in
U trunk/src/lib/crypto/arcfour/Makefile.in
U trunk/src/lib/crypto/crc32/Makefile.in
U trunk/src/lib/crypto/des/Makefile.in
U trunk/src/lib/crypto/dk/Makefile.in
U trunk/src/lib/crypto/enc_provider/Makefile.in
U trunk/src/lib/crypto/hash_provider/Makefile.in
U trunk/src/lib/crypto/keyhash_provider/Makefile.in
U trunk/src/lib/crypto/md4/Makefile.in
U trunk/src/lib/crypto/md5/Makefile.in
U trunk/src/lib/crypto/old/Makefile.in
U trunk/src/lib/crypto/raw/Makefile.in
U trunk/src/lib/crypto/sha1/Makefile.in
U trunk/src/lib/crypto/yarrow/Makefile.in
U trunk/src/lib/des425/Makefile.in
U trunk/src/lib/gssapi/Makefile.in
U trunk/src/lib/gssapi/generic/Makefile.in
U trunk/src/lib/gssapi/krb5/Makefile.in
U trunk/src/lib/gssapi/mechglue/Makefile.in
U trunk/src/lib/gssapi/spnego/Makefile.in
U trunk/src/lib/kadm5/Makefile.in
U trunk/src/lib/kadm5/clnt/Makefile.in
U trunk/src/lib/kadm5/srv/Makefile.in
U trunk/src/lib/kdb/Makefile.in
U trunk/src/lib/krb4/Makefile.in
U trunk/src/lib/krb5/Makefile.in
U trunk/src/lib/krb5/asn.1/Makefile.in
U trunk/src/lib/krb5/ccache/Makefile.in
U trunk/src/lib/krb5/error_tables/Makefile.in
U trunk/src/lib/krb5/keytab/Makefile.in
U trunk/src/lib/krb5/krb/Makefile.in
U trunk/src/lib/krb5/os/Makefile.in
U trunk/src/lib/krb5/posix/Makefile.in
U trunk/src/lib/krb5/rcache/Makefile.in
U trunk/src/lib/rpc/Makefile.in
U trunk/src/plugins/kdb/db2/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/btree/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/clib/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/db/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/hash/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/mpool/Makefile.in
U trunk/src/plugins/kdb/db2/libdb2/recno/Makefile.in
U trunk/src/plugins/locate/python/Makefile.in
U trunk/src/util/et/Makefile.in
U trunk/src/util/profile/Makefile.in
U trunk/src/util/ss/Makefile.in
U trunk/src/util/support/Makefile.in
From: tlyu@mit.edu
Subject: SVN Commit
Download (untitled) / with headers
text/plain 3.1KiB
pull up r18249 from trunk

r18249@cathode-dark-space: raeburn | 2006-06-28 18:07:00 -0400
ticket: new
subject: autoconf 2.60 compatibility
target_version: 1.5
tags: pullup

Change all file substitutions so that @-patterns start at the beginning
of their lines, as now required by autoconf 2.60 (released Monday).




Commit By: tlyu



Revision: 18253
Changed Files:
_U branches/krb5-1-5/
U branches/krb5-1-5/src/appl/libpty/Makefile.in
U branches/krb5-1-5/src/appl/telnet/libtelnet/Makefile.in
U branches/krb5-1-5/src/lib/apputils/Makefile.in
U branches/krb5-1-5/src/lib/crypto/Makefile.in
U branches/krb5-1-5/src/lib/crypto/aes/Makefile.in
U branches/krb5-1-5/src/lib/crypto/arcfour/Makefile.in
U branches/krb5-1-5/src/lib/crypto/crc32/Makefile.in
U branches/krb5-1-5/src/lib/crypto/des/Makefile.in
U branches/krb5-1-5/src/lib/crypto/dk/Makefile.in
U branches/krb5-1-5/src/lib/crypto/enc_provider/Makefile.in
U branches/krb5-1-5/src/lib/crypto/hash_provider/Makefile.in
U branches/krb5-1-5/src/lib/crypto/keyhash_provider/Makefile.in
U branches/krb5-1-5/src/lib/crypto/md4/Makefile.in
U branches/krb5-1-5/src/lib/crypto/md5/Makefile.in
U branches/krb5-1-5/src/lib/crypto/old/Makefile.in
U branches/krb5-1-5/src/lib/crypto/raw/Makefile.in
U branches/krb5-1-5/src/lib/crypto/sha1/Makefile.in
U branches/krb5-1-5/src/lib/crypto/yarrow/Makefile.in
U branches/krb5-1-5/src/lib/des425/Makefile.in
U branches/krb5-1-5/src/lib/gssapi/Makefile.in
U branches/krb5-1-5/src/lib/gssapi/generic/Makefile.in
U branches/krb5-1-5/src/lib/gssapi/krb5/Makefile.in
U branches/krb5-1-5/src/lib/gssapi/mechglue/Makefile.in
U branches/krb5-1-5/src/lib/gssapi/spnego/Makefile.in
U branches/krb5-1-5/src/lib/kadm5/Makefile.in
U branches/krb5-1-5/src/lib/kadm5/clnt/Makefile.in
U branches/krb5-1-5/src/lib/kadm5/srv/Makefile.in
U branches/krb5-1-5/src/lib/kdb/Makefile.in
U branches/krb5-1-5/src/lib/krb4/Makefile.in
U branches/krb5-1-5/src/lib/krb5/Makefile.in
U branches/krb5-1-5/src/lib/krb5/asn.1/Makefile.in
U branches/krb5-1-5/src/lib/krb5/ccache/Makefile.in
U branches/krb5-1-5/src/lib/krb5/error_tables/Makefile.in
U branches/krb5-1-5/src/lib/krb5/keytab/Makefile.in
U branches/krb5-1-5/src/lib/krb5/krb/Makefile.in
U branches/krb5-1-5/src/lib/krb5/os/Makefile.in
U branches/krb5-1-5/src/lib/krb5/posix/Makefile.in
U branches/krb5-1-5/src/lib/krb5/rcache/Makefile.in
U branches/krb5-1-5/src/lib/rpc/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/btree/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/clib/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/db/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/hash/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/mpool/Makefile.in
U branches/krb5-1-5/src/plugins/kdb/db2/libdb2/recno/Makefile.in
U branches/krb5-1-5/src/plugins/locate/python/Makefile.in
U branches/krb5-1-5/src/util/et/Makefile.in
U branches/krb5-1-5/src/util/profile/Makefile.in
U branches/krb5-1-5/src/util/ss/Makefile.in
U branches/krb5-1-5/src/util/support/Makefile.in