guile-devel
[Top][All Lists]
Advanced

[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




reply via email to

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