On Sunday 14 November 2010, Ralf Wildenhues wrote: > Hello Stefano, > > I think it is time to reevaluate some of the work that has been done in > the last few weeks. I'd like to ask you to postpone pushes of pending > stuff that has a clock ticking, and look at the lots of new failures > that a testsuite run shows on a few hosts; you can find them in some > minutes on <http://autobuild.josefsson.org/automake/>. >
Log: <http://autobuild.josefsson.org/automake/log-201011141903708440000.txt> Minimal system information: configure: autobuild project... GNU Automake configure: autobuild revision... v1.11-225-gcdd3cf3 configure: autobuild hostname... puar configure: autobuild mode... default configure: autobuild timestamp... 20111412T185841Z running CONFIG_SHELL=/bin/sh /bin/sh ../automake/configure PERL=/opt/fsw/perl586/bin/perl checking build system type... mips-sgi-irix6.5 -*-*-*- I see many failures similar to this one (taken from backcompat6.log): > config.status: executing depfiles commands > make all-am > source='quux.c' object='quux.o' libtool=no \ > DEPDIR=.deps depmode=sgi /bin/sh ../depcomp \ > cc -DHAVE_CONFIG_H -I. -I.. -g -c quux.c > cc ERROR: file does not exist: quux.c It should be `../quux.c' here, since it is a VPATH build. Is this a bug in automake or in VPATH support of IRIX make? Should the makefile fragment: source='$<' object='$@' libtool=no \ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ $(COMPILE) -c $< be rewritten as follows? source='$<' object='$@' libtool=no \ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ $(COMPILE) -c `test -f $< || echo $(srcdir)`/$< -*-*-*- > FAIL: instspc-*-build.test > FAIL: instspc-*-install.test Sample: > + make > source='source.c' object='source.o' libtool=no \ > DEPDIR=.deps depmode=sgi /bin/sh ../depcomp \ > cc -DPACKAGE_NAME=\"instspc-bang-build\" > -DPACKAGE_TARNAME=\"instspc-bang-build\" \ > -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"instspc-bang-build\ > 1.0\" \ > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" > -DPACKAGE=\"instspc-bang-build\" \ > -DVERSION=\"1.0\" -I. -I.. -g -c source.c > cc ERROR: file does not exist: source.c > *** Error code 2 (bu21) So this failures are not due to the recent instspc*.test refactoring, but to the same VPATH issue described above. -*-*-*- > FAIL: distlinksbrk.test (exit: 1) > ================================= > > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bi > n:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11 > :/usr/bsd + pwd > /tmp/am/build-mips-sgi-irix6.5/tests/distlinksbrk.dir > + set -e > + lnk_base=BrknSymlnk > + lnk1=BrknSymlnk__001 > + lnk2=BrknSymlnk__002 > + lnka=BrknSymlnk__aaa > + lnkb=BrknSymlnk__bbb > + ln -s nonesuch BrknSymlnk__001 > + pwd > + ln -s > /tmp/am/build-mips-sgi-irix6.5/tests/distlinksbrk.dir/nonesuch > BrknSymlnk__002 + ln -s BrknSymlnk__001 BrknSymlnk__aaa > + ln -s BrknSymlnk__aaa BrknSymlnk__bbb > + test ! -r BrknSymlnk__001 > + test ! -r BrknSymlnk__002 > + test ! -r BrknSymlnk__aaa > + test ! -r BrknSymlnk__bbb > + test -h BrknSymlnk__001 > + test -h BrknSymlnk__002 > + test -h BrknSymlnk__aaa > + test -h BrknSymlnk__bbb > + cat > + 1>> configure.in 0< /tmp/sh791237.2 > + cat > + 1> Makefile.am 0<< > EXTRA_DIST = BrknSymlnk__001 BrknSymlnk__002 BrknSymlnk__aaa BrknSymlnk__bbb > + ls -l > total 92 > lrwxrwxr-x 1 rwild rwild 8 Nov 12 20:31 BrknSymlnk__001 -> > nonesuch > lrwxrwxr-x 1 rwild rwild 69 Nov 12 20:31 BrknSymlnk__002 -> > /tmp/am/build-mips-sgi-irix6.5/tests/distlinksbrk.dir/nonesuch > lrwxrwxr-x 1 rwild rwild 15 Nov 12 20:31 BrknSymlnk__aaa -> > BrknSymlnk__001 > lrwxrwxr-x 1 rwild rwild 15 Nov 12 20:31 BrknSymlnk__bbb -> > BrknSymlnk__aaa > -rw-rw-r-- 1 rwild rwild 77 Nov 12 20:31 Makefile.am > -rw-rw-r-- 1 rwild rwild 86 Nov 12 20:31 configure.in > -rwxr-xr-x 1 rwild rwild 20001 Nov 12 20:31 depcomp > -rwxr-xr-x 1 rwild rwild 13781 Nov 12 20:31 install-sh > -rwxr-xr-x 1 rwild rwild 11419 Nov 12 20:31 missing > + aclocal-1.11a -Werror > + autoconf > + automake-1.11a --foreign -Werror -Wall > + ./configure > checking for a BSD-compatible install... ./install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ./install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > + make distdir > UX:make: ERROR: don't know how to make BrknSymlnk__001 (bu42). > + make -k distdir > + 1> out 2>& 1 > + : > + cat out > UX:make: ERROR: don't know how to make BrknSymlnk__001 (bu42). Just an error message instead of four? Might this be a "make -k" bug? If yes, how does the attached test script fare? > + /bin/grep -F BrknSymlnk__001 out > UX:make: ERROR: don't know how to make BrknSymlnk__001 (bu42). > + /bin/grep -F BrknSymlnk__002 out > + exit_status=1 > + set +e > + cd /tmp/am/build-mips-sgi-irix6.5/tests > + test 0 != 0 > + echo distlinksbrk: exit 1 > distlinksbrk: exit 1 > + exit 1 -*-*-*- > FAIL: parallel-tests8.test (exit: 1) > ==================================== > > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bi > n:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11 > :/usr/bsd + pwd > /tmp/am/build-mips-sgi-irix6.5/tests/parallel-tests8.dir > + set -e > + cat > + 1>> configure.in 0< /tmp/sh965576.1 > + cat > + 1> Makefile.am 0< /tmp/sh965576.2 > + cat > + 1>> foo.in 0< /tmp/sh965576.3 > + aclocal-1.11a -Werror > + autoconf > + AUTOMAKE_fails -a > Makefile.am:1: error: parallel-tests: using `$(srcdir)' in TESTS is > currently broken: `$(srcdir)/bar.test' Makefile.am:1: error: > parallel-tests: using `$(top_srcdir)' in TESTS is currently > broken: `$(top_srcdir)/baz.test' + grep (srcdir.*bar stderr > Makefile.am:1: error: parallel-tests: using `$(srcdir)' in TESTS is > currently broken: `$(srcdir)/bar.test' + grep top_srcdir.*baz > stderr > Makefile.am:1: error: parallel-tests: using `$(top_srcdir)' in > TESTS is currently broken: `$(top_srcdir)/baz.test' + sed > /srcdir/d > + 0< Makefile.am 1> t > + mv -f t Makefile.am > + automake-1.11a --foreign -Werror -Wall -a > + ./configure > checking for a BSD-compatible install... ./install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ./install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > + make check > > make foo.test > cp foo.in foo.test > chmod +x foo.test > make check-TESTS > > PASS: foo.test > ============= > 1 test passed > ============= [MEGA-CUT] > + mkdir build > + cd build > + ../configure > checking for a BSD-compatible install... ../install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ../install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > + make check > > make foo.test > cp foo.in foo.test > > UX:cp: ERROR: foo.in - No such file or directory Proably another VPATH-related issue, due to the following rule in the generated Makefile.am: .in.test: cp $< $@ chmod +x $@ This sounds like a testsuite weakness; maybe fixing the rule above to read: .in.test: ## account for VPATH issues on weaker make implementations cp `test -f $< || echo $(srcdir)`/$< $@ chmod +x $@ should be enough. Opinions? -*-*-*- > FAIL: silentlex.test (exit: 1) > ============================== > > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bin:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11:/usr/bsd > silentlex: running flex --version > flex version 2.5.4 > + pwd > /tmp/am/build-mips-sgi-irix6.5/tests/silentlex.dir > + set -e > + mkdir sub > + cat > + 1>> configure.in 0< /tmp/sh998000.1 > + cat > + 1> Makefile.am 0< /tmp/sh998000.2 > + cat > + 1> sub/Makefile.am 0< /tmp/sh998000.3 > + cat > + 1> foo.l 0< /tmp/sh998000.4 > + cp foo.l sub/bar.l > + aclocal-1.11a -Werror > + automake-1.11a --foreign -Werror -Wall --add-missing > configure.in:5: installing `./compile' > configure.in: installing `./ylwrap' > + autoconf > + ./configure --enable-silent-rules > checking for a BSD-compatible install... ./install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ./install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking for style of include used by make... GNU > checking for gcc... no > checking for cc... cc > checking for C compiler default output file name... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... no > checking whether cc accepts -g... yes > checking for cc option to accept ISO C89... none needed > checking dependency style of cc... sgi > checking whether cc understands -c and -o together... yes > checking for flex... flex > checking lex output file root... lex.yy > checking lex library... none needed > checking whether yytext is a pointer... no > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > config.status: creating sub/Makefile > config.status: executing depfiles commands > + make > + 1> stdout > ld32: ERROR 33 : Unresolved text symbol "main" -- 1st referenced by > /usr/lib32/mips3/crt1.o. > Use linker option -v to see when and which objects, archives and dsos > are loaded. > ld32: ERROR 33 : Unresolved text symbol "yywrap" -- 1st referenced by bar.o. > Use linker option -v to see when and which objects, archives and dsos > are loaded. > ld32: INFO 152: Output file removed because of error. > + cat stdout > Making all in sub > LEX bar.c > CC bar.o > CCLD bar1 > *** Error code 2 (bu21) > *** Error code 1 (bu21) Hmmm... might this be the same problem reported in mmodely.test? # On systems which link in libraries non-lazily and whose linkers # complain about unresolved symbols by default, such as Solaris, an # yylex function needs to be defined to avoid an error due to an # unresolved symbol. cat > zardoz.c <<EOF int joe (int arg); int yylex (void) { return 0; } int main (int argc, char **argv) { return joe (argc); } EOF If yes, which functions should I define, and where, to avoid linker errors? (my lex-fu is pretty weak, sorry). -*-*-*- > FAIL: silentyacc.test (exit: 1) > =============================== > > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bin:/tmp/bin > :/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11:/usr/bsd > silentyacc: running bison --version > GNU Bison version 1.25 > + pwd > /tmp/am/build-mips-sgi-irix6.5/tests/silentyacc.dir > + set -e > + mkdir sub > + cat > + 1>> configure.in 0< /tmp/sh996067.1 > + cat > + 1> Makefile.am 0< /tmp/sh996067.2 > + cat > + 1> sub/Makefile.am 0< /tmp/sh996067.3 > + cat > + 1> foo.y 0< /tmp/sh996067.4 > + cp foo.y sub/bar.y > + aclocal-1.11a -Werror > + automake-1.11a --foreign -Werror -Wall --add-missing > configure.in:5: installing `./compile' > configure.in: installing `./ylwrap' > + autoconf > + ./configure --enable-silent-rules [MEGA-CUT] > + rm -f foo.[ch] sub/bar.[ch] > + ./configure am_cv_CC_dependencies_compiler_type=gcc --enable-silent-rules OK, so here I force gcc depmode ... > checking for a BSD-compatible install... ./install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ./install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking for style of include used by make... GNU > checking for gcc... no > checking for cc... cc > checking for C compiler default output file name... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... no > checking whether cc accepts -g... yes > checking for cc option to accept ISO C89... none needed > checking dependency style of cc... (cached) gcc > checking whether cc understands -c and -o together... yes > checking for bison... bison -y > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > config.status: creating sub/Makefile > config.status: executing depfiles commands > + make > cc-3569 cc: ERROR > invalid macro definition: > cc-1040 cc: ERROR > An identifier is expected. > cc-1005 cc: ERROR > The source file ".deps/bar.TPo" is unavailable. > 1 error and 2 catastrophic errors detected in the compilation of > ".deps/bar.TPo". > Compilation terminated. ... but the C compiler is clearly not gcc-compatible in this respect! My bad I guess. The solution might be splitting silentyacc.test in two sister tests: - silentyacc-generic.test, trying only default depmode and disabled depmode; and - silentyacc-gcc.test, trying trying gcc depmode and having `gcc' in $required. And maybe something similar should be done for silentlex.test too. Opinions? -*-*-*- > FAIL: suffix13.test (exit: 1) > ============================= > > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bi > n:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11 > :/usr/bsd + pwd > /tmp/am/build-mips-sgi-irix6.5/tests/suffix13.dir > + set -e > + cat > + 1>> configure.in 0< /tmp/sh1027203.1 > + cat > + 1> Makefile.am 0< /tmp/sh1027203.2 > + mkdir sub > + cat > + 1> sub/bar.baz 0< /tmp/sh1027203.3 > + cat > + 1> foo.c 0< /tmp/sh1027203.4 > + aclocal-1.11a -Werror > + autoconf > + automake-1.11a --foreign -Werror -Wall -a > configure.in:5: installing `./compile' > + ./configure [BIG-CUT] > + make distcheck [CUT] > checking for a BSD-compatible install... ../install-sh -c > checking whether build environment is sane... yes > checking for a thread-safe mkdir -p... ../install-sh -c -d > checking for gawk... no > checking for mawk... no > checking for nawk... nawk > checking whether make sets $(MAKE)... yes > checking for gcc... no > checking for cc... cc > checking for C compiler default output file name... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... no > 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... sgi > checking whether cc understands -c and -o together... yes > checking that generated files are newer than configure... done > configure: creating ./config.status > config.status: creating Makefile > config.status: executing depfiles commands > > source='foo.c' object='foo-foo.o' libtool=no \ > DEPDIR=.deps depmode=sgi /bin/sh ../depcomp \ > cc -DPACKAGE_NAME=\"suffix13\" -DPACKAGE_TARNAME=\"suffix13\" \ > -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"suffix13\ 1.0\" \ > -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" \ > -DPACKAGE=\"suffix13\" -DVERSION=\"1.0\" -I. -I.. -g > -c -o foo-foo.o `test -f 'foo.c' || echo '../'`foo.c > case sub/bar.c in sub/*) ../install-sh -c -d sub;; *) :;; esac > cp sub/bar.baz sub/bar.c > > UX:cp: ERROR: sub/bar.baz - No such file or directory > *** Error code 2 (bu21) Proably another VPATH-related issue, due to the following rule in the generated Makefile.am: .baz.c: case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac cp $< $@ This sounds like a testsuite weakness; maybe fixing the rule above to read: .baz.c: case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac ## account for VPATH issues on weaker make implementations cp `test -f $< || echo $(srcdir)`/$< $@ should be enough. Opinions? -*-*-*- > FAIL: vartypos.test (exit: 1) > FAIL: vartypo2.test (exit: 1) $ git log tests/vartypo*.test commit f19b07647af068030866b7bc94710e930a6fccb9 Author: Ralf Wildenhues <ralf.wildenh...@gmx.de> Date: Sat Oct 2 20:26:47 2010 +0200 Coverage and minor fixes for variable typo detection. * automake.in (check_typos): Remove `EXTRA_' prefix when computing canonical name. * tests/vartypo2.test, tests/vartypos.test: New tests. * tests/Makefile.am (TESTS): Update. Signed-off-by: Ralf Wildenhues <ralf.wildenh...@gmx.de> I guess Ralf will take care of those ;-) -*-*-*- Regards, Stefano
distlinksbrk2.test
Description: application/shellscript