octave-maintainers
[Top][All Lists]
Advanced

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

Re: gnulib and automake


From: John W. Eaton
Subject: Re: gnulib and automake
Date: Wed, 11 Nov 2009 10:01:36 -0500

On 11-Nov-2009, Jaroslav Hajek wrote:

| First thoughts (from a first-time libtool&automake user):
| It would be nice to specify the versions needed.

We do, with the lines

  AM_INIT_AUTOMAKE([1.11 tar-ustar])
  AC_PREREQ(2.60)
  LT_PREREQ([2.2.2])

in the configure.ac script.

| I tried with my system
| autoconf 2.61, automake 1.10 and libtool 1.5.26 and build failed complaining
| that automake 1.11 is required. I compiled autoconf 2.64 & automake 1.11 and
| tried again, but this time I got weird messages about AC_PROG_LIBTOOL
| missing in configure.ac. Adding it there didn't help though. I finally
| installed built also libtool 2.2.6a and everything went OK.

In the libtool NEWS file, I see

  New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
  [...]
  * New LT_PREREQ macro for specifying minimum libtool requirement.
  * New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED,
    AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC,
    AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN,
    AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE.  Use autoupdate to modernise
    your configure.ac files after installing this release.

So LT_PREREQ won't help if you don't have it...  Since this might be a
common problem for a while yet, I tried adding

  ifdef([SOMETHING_UNDEFINED], [], [
    errprint([error: you must have Libtool 2.2.2 or a more recent version
  ])
    m4exit([1])])

before the LT_PREREQ and LT_INIT lines in configure.ac.  With this,
autogen.sh produced the following messages:

  calling libtoolize...
  calling aclocal...
  error: you must have Libtool 2.2.2 or a more recent version
  generating source lists for liboctave/Makefile...
  vx-op-inc.mk is unchanged
  mx-op-inc.mk is unchanged
  smx-op-inc.mk is unchanged
  vx-op-src.mk is unchanged
  mx-op-src.mk is unchanged
  smx-op-src.mk is unchanged
  generating doc/interpreter/images.mk...
  images.mk is unchanged
  generating src/DLD-FUNCTIONS/module.mk...
  module.mk is unchanged
  calling autoheader...
  error: you must have Libtool 2.2.2 or a more recent version
  calling automake...
  calling autoconf...
  error: you must have Libtool 2.2.2 or a more recent version

I was expecting m4exit([1]) and the "set -e" line in autogen.sh to
cause the script to terminate after the first error.  I checked in my
change anyway (substituting LT_INIT for SOMETHING_UNDEFINED), but it
would be great if someone could find out how to make the error exit
actually work, so that it doesn't appear that the autogen script
succeeds when it is not really working properly.

| I think it would be nice to discover the minimum required levels.
| 
| So my working config is
| autoconf 2.64 + automake 1.11 + libtool 2.2.6a
| but that does not help anything since these are all newest versions. What's
| yours?

I run Debian testing and frequently update, so I'm not a good test
case for finding out the oldest possible versions.  I have 2.64, 1.11,
and 2.2.6.

I'm pretty sure automake 1.11 and libtool 2.2.2 are required (someone
already did a test for the libtool version number).

I don't know about the autoconf version.  The last time we checked,
I think 2.60 was sufficient.  If something newer is required now to
work with automake 1.11 and libtool 2.2.2, then we should update the
AC_PREREQ version.  If 2.64 is required, then we can remove the
definitions of m4_ifblank and m4_ifnblank from acinclude.m4.

jwe


reply via email to

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