[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem building CVS Guile with automake 1.6.1
From: |
Alexandre Duret-Lutz |
Subject: |
Re: Problem building CVS Guile with automake 1.6.1 |
Date: |
Fri, 26 Apr 2002 13:33:12 +0200 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-debian-linux-gnu) |
>>> "Matthias" == Matthias Koeppe <address@hidden> writes:
Matthias> Guile's `guile-aclocal.sh' script fails with automake
Matthias> 1.6.1. Here is the relevant part:
>> # copy all installed aclocal files into $temp
>> cp `aclocal --print-ac-dir`/*.m4 $temp
>>
>> # remove the .m4 files installed by Guile from $temp, so they don't
>> # cause conflicts
>> rm -f ${temp}/guile.m4 ${temp}/qthreads.m4
>>
>> aclocal --acdir=$temp -I .
This is a work-around makes sense up to Automake 1.4.
It still works with 1.5.
It breaks with recent versions.
aclocal from Automake 1.4 chokes when a -I supplied macro
override a /usr/share/aclocal/ macro, hence your script.
Starting with Automake 1.5, a macro supplied with -I will
override any macro installed in /usr/share/aclocal/, so
you simply have to run
aclocal -I .
(no cp, rm, or --acdir)
Matthias> As far as I understand it, this fails with automake
Matthias> 1.6.1 because the "aclocal" library location is
Matthias> versioned with the automake API version.
Starting with Automake 1.6, there are TWO places:
$datadir/aclocal-1.6/
The directory where Automake puts its internal macros
(AM_INIT_AUTOMAKE and the like). This needs to be versioned.
$datadir/aclocal/
This is the directory where third-party packages are expected
to put their macros. This is not versioned, since these
macros are really independent of Automake.
Matthias> On my system, the location is
Matthias> /localapp/imosoft/sparcv9-sun-solaris2.7/share/aclocal-1.6
This is Automake's own macro repository. The user should not
have to fiddle with it.
Matthias> but
Matthias> aclocal --print-ac-dir
Matthias> ==> /localapp/imosoft/sparcv9-sun-solaris2.7/share/aclocal
This prints the directory when third-party packages are expected
to install their macros.
Matthias> which happens to point to an old (1.4) installation of the aclocal
Matthias> library.
If you haven't uninstalled Automake 1.4/1.5, their files are
still here. This is harmless: the macros found in the versioned
directory have priority.
Matthias> When aclocal is invoked with --acdir set to a copy of this library,
Matthias> automake fails with these messages:
--acdir overrides both the private (versioned) and public
(unversioned) aclocal directories, hence the failure. (This
switch is needed in Automake's testsuite which has to run
aclocal before the macros are installed.)
[...]
--
Alexandre Duret-Lutz