Subject: bug#11306: Automake 1.11d on MacOS X

From: Bruno Haible <[email-masked]>
Date: Sat, 21 Apr 2012 20:13:52 +0200

> The beta release "1.11d" of Automake is now available at
> <ftp://alpha.gnu.org/gnu/automake/>.

On MacOS X 10.5, with Autoconf 2.65: 6 tests fail.

FAIL: t/lex-libobj.sh
FAIL: t/parallel-am.sh
FAIL: t/parallel-am2.sh
FAIL: t/parallel-am3.sh
FAIL: t/tap-summary-color.sh
FAIL: t/werror3.sh

Details:

$ m4 --version
m4 (GNU M4) 1.4.13
$ gm4 --version
GNU M4 1.4.6

FAIL: t/lex-libobj
==================

Running from installcheck: no
Using TAP: no
PATH = /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/ax:/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/wrap:.:/Users/bruno/data/local-macos/bin:/opt/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin
++ pwd
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/lex-libobj.dir
+ cat
+ cat
+ cat
+ cat
+ aclocal-1.11d -Werror
+ autoconf
+ automake-1.11d --foreign -Werror -Wall -a
configure.ac: installing './ylwrap'
+ ./configure
checking for a BSD-compatible install... /Users/bruno/data/local-macos/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /Users/bruno/data/local-macos/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking for ranlib... ranlib
checking for flex... lex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for yywrap... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
+ grep LIBOBJS Makefile
foo_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LIBOBJS)
LIBOBJS = 
LTLIBOBJS = 
foo_LDADD = $(LEXLIB) $(LIBOBJS)
+ make
/bin/sh ./ylwrap foo.l lex.yy.c foo.c -- lex  
cc -DPACKAGE_NAME=\"lex-libobj\" -DPACKAGE_TARNAME=\"lex-libobj\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"lex-libobj\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lex-libobj\" -DVERSION=\"1.0\" -DYYTEXT_POINTER=1 -DHAVE_YYWRAP=1 -I.   -Wall  -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
foo.c:1033: warning: 'yyunput' defined but not used
mv -f .deps/foo.Tpo .deps/foo.Po
cc  -g -O2   -o foo foo.o -lfl  
+ make distclean
test -z "foo" || rm -f foo
rm -f *.o
rm -f *.tab.c
test -z "" || rm -f 
test . = "." || test -z "" || rm -f 
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -rf .deps ./.deps
rm -f Makefile
+ ./configure 'LEXLIB=-L /lib'
checking for a BSD-compatible install... /Users/bruno/data/local-macos/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /Users/bruno/data/local-macos/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking for ranlib... ranlib
checking for flex... lex
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for yywrap... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
+ grep LIBOBJS Makefile
foo_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LIBOBJS)
LIBOBJS =  ${LIBOBJDIR}yywrap$U.o
LTLIBOBJS =  ${LIBOBJDIR}yywrap$U.lo
foo_LDADD = $(LEXLIB) $(LIBOBJS)
+ grep '^LIBOBJS *=.*yywrap.*\.o' Makefile
LIBOBJS =  ${LIBOBJDIR}yywrap$U.o
+ make
cc -DPACKAGE_NAME=\"lex-libobj\" -DPACKAGE_TARNAME=\"lex-libobj\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"lex-libobj\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lex-libobj\" -DVERSION=\"1.0\" -I.   -Wall  -g -O2 -MT foo.o -MD -MP -MF .deps/foo.Tpo -c -o foo.o foo.c
foo.c:1033: warning: 'yyunput' defined but not used
mv -f .deps/foo.Tpo .deps/foo.Po
cc -DPACKAGE_NAME=\"lex-libobj\" -DPACKAGE_TARNAME=\"lex-libobj\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"lex-libobj\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lex-libobj\" -DVERSION=\"1.0\" -I.   -Wall  -g -O2 -MT yywrap.o -MD -MP -MF .deps/yywrap.Tpo -c -o yywrap.o yywrap.c
mv -f .deps/yywrap.Tpo .deps/yywrap.Po
cc  -g -O2   -o foo foo.o -L /lib yywrap.o 
ld: file not found: /lib
collect2: ld returned 1 exit status
make: *** [foo] Error 1
+ exit_status=2
+ set +e
+ cd /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d
+ test no = yes
+ case $am_explicit_skips in
+ test 2 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
lex-libobj: exit 2

On this machine, /usr/bin/lex is a shell script that invokes /usr/bin/flex.
There is a /usr/lib/libfl.a.
Everything looks right up until the line
  ./configure 'LEXLIB=-L /lib'
I don't know how _adding_ a -L option to a compiler/linker command is meant
to hide a library that is installed in /usr/lib ??

FAIL: t/parallel-am
===================

Running from installcheck: no
Using TAP: no
PATH = /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/ax:/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/wrap:.:/Users/bruno/data/local-macos/bin:/opt/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin
++ pwd
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/parallel-am.dir
+ cat
+ cat
+ list='1 2 3 4 5 6 7 8 9'
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub1/Makefile])'
+ echo 'SUBDIRS += sub1'
+ mkdir sub1
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub2/Makefile])'
+ echo 'SUBDIRS += sub2'
+ mkdir sub2
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub3/Makefile])'
+ echo 'SUBDIRS += sub3'
+ mkdir sub3
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub4/Makefile])'
+ echo 'SUBDIRS += sub4'
+ mkdir sub4
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub5/Makefile])'
+ echo 'SUBDIRS += sub5'
+ mkdir sub5
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub6/Makefile])'
+ echo 'SUBDIRS += sub6'
+ mkdir sub6
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub7/Makefile])'
+ echo 'SUBDIRS += sub7'
+ mkdir sub7
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub8/Makefile])'
+ echo 'SUBDIRS += sub8'
+ mkdir sub8
+ echo
+ for i in '$list'
+ echo 'AC_CONFIG_FILES([sub9/Makefile])'
+ echo 'SUBDIRS += sub9'
+ mkdir sub9
+ echo
+ echo 'include foo.am'
+ echo 'include bar.am'
+ echo 'python_PYTHON = foo.py'
+ echo 'lisp_LISP = foo.el'
+ echo 'bin_PROGRAMS = p'
+ rm -f install-sh missing depcomp
+ mkdir build-aux
+ aclocal-1.11d -Werror
+ unset AUTOMAKE_JOBS
+ AUTOMAKE_run --add-missing
+ am__desc=
+ am__exp_rc=0
+ test 1 -gt 0
+ case $1 in
+ break
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall --add-missing
+ cat stderr
configure.ac:3: installing 'build-aux/install-sh'
configure.ac:3: installing 'build-aux/missing'
sub7/bar.am:1: installing 'build-aux/py-compile'
sub7/Makefile.am:2:   'sub7/foo.am' included from here
sub7/foo.am:1:   'sub7/bar.am' included from here
sub8/Makefile.am:2: installing 'build-aux/elisp-comp'
sub9/Makefile.am: installing 'build-aux/depcomp'
+ cat stdout
+ test no '!=' yes
+ test 0 -eq 0
+ return
+ mv stderr expected
++ find . -name Makefile.in
+ Makefile_ins='./Makefile.in
./sub1/Makefile.in
./sub2/Makefile.in
./sub3/Makefile.in
./sub4/Makefile.in
./sub5/Makefile.in
./sub6/Makefile.in
./sub7/Makefile.in
./sub8/Makefile.in
./sub9/Makefile.in'
+ for file in '$Makefile_ins'
+ mv ./Makefile.in ./Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub1/Makefile.in ./sub1/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub2/Makefile.in ./sub2/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub3/Makefile.in ./sub3/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub4/Makefile.in ./sub4/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub5/Makefile.in ./sub5/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub6/Makefile.in ./sub6/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub7/Makefile.in ./sub7/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub8/Makefile.in ./sub8/Makefile.in.exp
+ for file in '$Makefile_ins'
+ mv ./sub9/Makefile.in ./sub9/Makefile.in.exp
+ AUTOMAKE_JOBS=5
+ export AUTOMAKE_JOBS
+ for run in 1 2 3 4 5 6 7
+ rm -f build-aux/depcomp build-aux/elisp-comp build-aux/install-sh build-aux/missing build-aux/py-compile 'sub*/Makefile.in'
+ AUTOMAKE_run --add-missing
+ am__desc=
+ am__exp_rc=0
+ test 1 -gt 0
+ case $1 in
+ break
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall --add-missing
./defs: line 293: 97391 Bus error               $AUTOMAKE ${1+"$@"} > stdout 2> stderr
+ am__got_rc=138
+ cat stderr
configure.ac:3: installing 'build-aux/install-sh'
configure.ac:3: installing 'build-aux/missing'
sub7/bar.am:1: installing 'build-aux/py-compile'
sub7/Makefile.am:2:   'sub7/foo.am' included from here
sub7/foo.am:1:   'sub7/bar.am' included from here
sub8/Makefile.am:2: installing 'build-aux/elisp-comp'
sub9/Makefile.am: installing 'build-aux/depcomp'
+ cat stdout
+ test no '!=' yes
+ test 138 -eq 0
+ Exit 1
+ set +e
+ test 77 = 1
+ exit 1
+ exit 1
+ exit_status=1
+ set +e
+ cd /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d
+ test no = yes
+ case $am_explicit_skips in
+ test 1 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
parallel-am: exit 1

Apparently, the "automake-1.11d --foreign -Werror -Wall --add-missing"
command got a bus error. It is a shell script that runs perl
(/usr/bin/perl, version 5.8.8).

FAIL: t/parallel-am2
====================

...
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall --add-missing
./defs: line 293: 97831 Bus error               $AUTOMAKE ${1+"$@"} > stdout 2> stderr
+ am__got_rc=138
+ cat stderr
configure.ac:2: installing './install-sh'
configure.ac:2: installing './missing'
automake: warnings are treated as errors
Makefile.am:3: warning: compiling 'sub/main.c' in subdir requires 'AM_PROG_CC_C_O' in 'configure.ac'
Makefile.am: installing './depcomp'
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:   The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC'
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:   to 'configure.ac' and run 'aclocal' and 'autoconf' again
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:   The usual way to define 'AMDEP' is to add one of the compiler tests
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:     AC_PROG_CC, AC_PROG_CXX, AC_PROG_CXX, AC_PROG_OBJC,
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:     AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/lib/am/depend2.am:   to 'configure.ac' and run 'aclocal' and 'autoconf' again
Makefile.am: error: C source seen but 'CC' is undefined
Makefile.am:   The usual way to define 'CC' is to add 'AC_PROG_CC'
Makefile.am:   to 'configure.ac' and run 'autoconf' again.
sub1/Makefile.am: error: C source seen but 'CC' is undefined
sub1/Makefile.am:   The usual way to define 'CC' is to add 'AC_PROG_CC'
sub1/Makefile.am:   to 'configure.ac' and run 'autoconf' again.
sub2/Makefile.am: error: C source seen but 'CC' is undefined
sub2/Makefile.am:   The usual way to define 'CC' is to add 'AC_PROG_CC'
sub2/Makefile.am:   to 'configure.ac' and run 'autoconf' again.
sub3/Makefile.am: error: C source seen but 'CC' is undefined
sub3/Makefile.am:   The usual way to define 'CC' is to add 'AC_PROG_CC'
sub3/Makefile.am:   to 'configure.ac' and run 'autoconf' again.
+ cat stdout
+ test no '!=' yes
+ test 138 -eq 1
+ Exit 1
+ set +e
+ test 77 = 1
+ exit 1
+ exit 1
+ exit_status=1
+ set +e
+ cd /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d
+ test no = yes
+ case $am_explicit_skips in
+ test 1 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
parallel-am2: exit 1

Likewise.

FAIL: t/parallel-am3
====================

...
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall --add-missing
./defs: line 293: 98271 Bus error               $AUTOMAKE ${1+"$@"} > stdout 2> stderr
+ am__got_rc=138
+ cat stderr
configure.ac:3: installing 'build-aux/install-sh'
configure.ac:3: installing 'build-aux/missing'
sub1/Makefile.am: installing 'build-aux/depcomp'
sub1/Makefile.am:2: installing 'build-aux/elisp-comp'
sub1/Makefile.am:1: installing 'build-aux/py-compile'
+ cat stdout
+ test no '!=' yes
+ test 138 -eq 0
+ Exit 1
+ set +e
+ test 77 = 1
+ exit 1
+ exit 1
+ exit_status=1
+ set +e
+ cd /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d
+ test no = yes
+ case $am_explicit_skips in
+ test 1 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
parallel-am3: exit 1

Likewise.

FAIL: t/tap-summary-color
=========================

No color escape sequences produced, like I reported for openSUSE Linux.
Probable cause: not a tty, or no $TERM.

FAIL: t/werror3
===============

Running from installcheck: no
Using TAP: no
PATH = /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/ax:/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/wrap:.:/Users/bruno/data/local-macos/bin:/opt/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin
++ pwd
/Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d/t/werror3.dir
+ cat
+ mkdir sub
+ cat
+ cat
+ aclocal-1.11d -Werror
+ unset AUTOMAKE_JOBS
+ AUTOMAKE_run -Wno-error
+ am__desc=
+ am__exp_rc=0
+ test 1 -gt 0
+ case $1 in
+ break
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall -Wno-error
+ cat stderr
Makefile.am:2: warning: VAR multiply defined in condition TRUE ...
Makefile.am:1: ... 'VAR' previously defined here
+ cat stdout
+ test no '!=' yes
+ test 0 -eq 0
+ return
+ grep 'VAR multiply defined' stderr
Makefile.am:2: warning: VAR multiply defined in condition TRUE ...
+ AUTOMAKE_JOBS=2
+ export AUTOMAKE_JOBS
+ AUTOMAKE_run -Wno-error
+ am__desc=
+ am__exp_rc=0
+ test 1 -gt 0
+ case $1 in
+ break
+ am__got_rc=0
+ automake-1.11d --foreign -Werror -Wall -Wno-error
./defs: line 293: 83221 Bus error               $AUTOMAKE ${1+"$@"} > stdout 2> stderr
+ am__got_rc=138
+ cat stderr
Makefile.am:2: warning: VAR multiply defined in condition TRUE ...
Makefile.am:1: ... 'VAR' previously defined here
+ cat stdout
+ test no '!=' yes
+ test 138 -eq 0
+ Exit 1
+ set +e
+ test 77 = 1
+ exit 1
+ exit 1
+ exit_status=1
+ set +e
+ cd /Users/bruno/data/build/multibuild-2074/macosx/automake-1.11d
+ test no = yes
+ case $am_explicit_skips in
+ test 1 -eq 0
+ keep_testdirs=yes
+ am_keeping_testdirs
+ case $keep_testdirs in
+ return 0
+ set +x
werror3: exit 1

A bus error again.

Bruno