automake-patches
[Top][All Lists]
Advanced

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

Testsuite failures on IRIX 6.5 (was: testsuite results from master)


From: Stefano Lattarini
Subject: Testsuite failures on IRIX 6.5 (was: testsuite results from master)
Date: Mon, 15 Nov 2010 02:00:45 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

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 <address@hidden>
 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 <address@hidden>

I guess Ralf will take care of those ;-)

-*-*-*-

Regards,
   Stefano

Attachment: distlinksbrk2.test
Description: application/shellscript


reply via email to

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