automake-patches
[Top][All Lists]
Advanced

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

More problems when overriding autotools in bootstrap


From: Stefano Lattarini
Subject: More problems when overriding autotools in bootstrap
Date: Mon, 16 Aug 2010 15:11:28 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Hello automakers.

Even with this patch of mine applied:
 <http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00151.html>
there are still problems when using non-default autoconf and autom4te to build
and test automake.  For example, the tests `missing.test' and `missing2.test'
fail (see attached logs).  This is mostly a testsuite problem/limitation, but
we should deal with it nonetheless.

I see three possibilities:
 - Use address@hidden@' and address@hidden@' instead of plain `autoconf' and 
`autom4te'
   in `automake.in' and `aclocal.in'.  While this was my first idea, I soon
   realized that it's a *very bad* idea, likely to create far more problems
   than it solves.
 - Hack the failing tests to avoid the quasi-spurious failure.  Not a good
   idea either, sounds like sweeping the dirt under carpet.
 - Hack the `tests/automake.in' and `tests/aclocal.in' to export AUTOCONF and
   AUTOMA4TE to respectively address@hidden@' and address@hidden@', unless they 
are
   already exported.  This is the way to go IMO.

Also, we should extend the automake documentation with a section explaining
how to use automake with non-default autoconf and autom4te.

At this point, my idea would be to drop my previous patch, and follow this
"roadmap":
  1. Add a tests that fails if aclocal-used autoconf and testsuite-used
     autoconf don't match; this test is expected to fail with my current
     setup (bootstrap-time and configure-time overridden $AUTOCONF and
     $AUTOMA4TE, but no AUTOCONF nor AUTOM4TE in the environment).
  2. Add the tests intoduced by my previous version of the patch; verify that
     all of them still fail at this point (and declare them as xfailing).
  3. Apply the changes to `m4/init.m4' and `lib/am/configure.am' introduced
     by my previous patch; see that the tests introduced in step 2 now
     pass.
  4. Do the fix to `tests/automake.in' and `tests/aclocal.in', and verify
     that the test added in step 1 now passes.
  5. Do the documentation improvement described above (maybe with some
     help ;-).
  6. Re-run the whole testsuite.

Opinions?

Regards,
   Stefano
FAIL: missing.test (exit: 2)
============================

/home/stefano/src/automake/tests:/home/stefano/go/bin:/home/stefano/bin/linux:/home/stefano/bin:/usr/local/bin:/opt/bin:/usr/lib/jvm/java-6-sun-1.6.0.20/bin:/usr/games:/usr/bin:/usr/sbin:/bin:/sbin
=== Running test ./missing.test
++ pwd
/home/stefano/src/automake/tests/missing.dir
+ set -e
+ cat
+ :
+ aclocal-1.11 -Werror
+ /opt/bleedingedge/bin/autoconf
aclocal.m4:16: warning: this file was generated for autoconf 2.65.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
+ automake-1.11 --foreign -Werror -Wall --add-missing
+ MYAUTOCONF='./missing --run /opt/bleedingedge/bin/autoconf'
+ unset AUTOCONF
+ ./configure 'AUTOCONF=./missing --run /opt/bleedingedge/bin/autoconf'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating Makefile
+ make
make: Nothing to be done for `all'.
+ sleep 2
+ echo 'AC_PREREQ(9999)'
+ make distdir
 cd . && /bin/sh /home/stefano/src/automake/tests/missing.dir/missing --run 
automake-1.11 --foreign
aclocal.m4:16: warning: this file was generated for autoconf 2.65.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
aclocal.m4:619: error: Autoconf version 9999 or higher is required
aclocal.m4:619: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
WARNING: `/opt/bleedingedge/bin/autoconf' is needed, and is probably too old.
         You might have modified some files without having the
         proper tools for further handling them.  Check the `README' file,
         it often tells you about the needed prerequisites for installing
         this package.  You may also peek at any GNU archive site, in case
         some other package would contain this missing 
`/opt/bleedingedge/bin/autoconf' program.
automake: ./missing failed with exit status: 1
make: *** [Makefile.in] Error 1
+ exit_status=2
+ set +e
+ cd /home/stefano/src/automake/tests
+ case $exit_status,$keep_testdirs in
+ test 0 '!=' 0
+ echo 'missing: exit 2'
missing: exit 2
+ exit 2
FAIL: missing2.test (exit: 2)
=============================

/home/stefano/src/automake/tests:/home/stefano/go/bin:/home/stefano/bin/linux:/home/stefano/bin:/usr/local/bin:/opt/bin:/usr/lib/jvm/java-6-sun-1.6.0.20/bin:/usr/games:/usr/bin:/usr/sbin:/bin:/sbin
=== Running test ./missing2.test
++ pwd
/home/stefano/src/automake/tests/missing2.dir
+ set -e
+ cat
+ :
+ :
+ aclocal-1.11 -Werror
+ /opt/bleedingedge/bin/autoconf
aclocal.m4:16: warning: this file was generated for autoconf 2.65.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
+ automake-1.11 --foreign -Werror -Wall --add-missing
+ MYAUTOCONF='./missing --run /opt/bleedingedge/bin/autoconf'
+ unset AUTOCONF
+ ./configure 'AUTOCONF=./missing --run /opt/bleedingedge/bin/autoconf'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: creating ./config.status
config.status: creating Makefile
+ make
make: Nothing to be done for `all'.
+ sleep 2
+ echo 'AC_PREREQ(9999)'
+ make distdir
 cd . && /bin/sh /home/stefano/src/automake/tests/missing2.dir/missing --run 
aclocal-1.11 
v.m4:1: error: Autoconf version 9999 or higher is required
v.m4:1: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
aclocal: autom4te failed with exit status: 63
WARNING: `aclocal-1.11' is probably too old.  You should only need it if
         you modified `acinclude.m4' or `configure.in'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /home/stefano/src/automake/tests/missing2.dir/missing --run 
automake-1.11 --foreign
aclocal.m4:16: warning: this file was generated for autoconf 2.65.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
v.m4:1: error: Autoconf version 9999 or higher is required
v.m4:1: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
WARNING: `/opt/bleedingedge/bin/autoconf' is needed, and is probably too old.
         You might have modified some files without having the
         proper tools for further handling them.  Check the `README' file,
         it often tells you about the needed prerequisites for installing
         this package.  You may also peek at any GNU archive site, in case
         some other package would contain this missing 
`/opt/bleedingedge/bin/autoconf' program.
automake: ./missing failed with exit status: 1
make: *** [Makefile.in] Error 1
+ exit_status=2
+ set +e
+ cd /home/stefano/src/automake/tests
+ case $exit_status,$keep_testdirs in
+ test 0 '!=' 0
+ echo 'missing2: exit 2'
missing2: exit 2
+ exit 2

reply via email to

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