Subject: Re: bug#13436: 3 fails in make check

From: Stefano Lattarini <[email-masked]>
Date: Mon, 21 Jan 2013 14:01:28 +0100

tags 13436 + moreinfo
severity 13436 minor
thanks

On 01/14/2013 05:08 PM, [email-masked] wrote:
> Hi,
Hello Johannes.  Thanks for the report, and sorry for the delay.

> I compiled automake 1.12.6 and got 3 fails when doing make check.
> I tried it with v1.13.1 and got the same results.
> 
> echo $MACHTYPE
> x86_64-suse-linux
> 
> I tried to use gcc + ifort
> and gcc + gfortran
> 
Even more usefule info on your system should have been saved in the
file 't/get-sysconf.log'.  Could you post it here?  That might help
the debugging.

> ==================================================
> Testsuite summary for GNU Automake 1.12.6
> ==================================================
> # TOTAL: 2632
> # PASS:  2387
> # SKIP:  201
> # XFAIL: 41
> # FAIL:  3
> # XPASS: 0
> # ERROR: 0
> ==================================================
> See ./test-suite.log
> Please report to [email-masked]
> ==================================================

> grep FAIL test-suite.log
> 17052:FAIL: t/lex-clean-cxx
> 17125:FAIL: t/lex-depend-cxx
> 18935:FAIL: t/yacc-bison-skeleton-cxx
> 
> I searched for existing bugs and saw that the first two test
> sections have been the source of problems before. But I could
> not find a solution.
>
> Here is an excerpt from my test-suite.log:
> 

> FAIL: t/lex-depend-cxx
> ======================
> 
> Running from installcheck: no
> Test Protocol: none
> PATH = /local/home/bieser/CMAQ5.0.1/automake/automake-1.12.6/t/wrap:/local/home/bieser/CMAQ5.0.1/automake/automake-1.12.6/t/ax:/local/home/bieser/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/local/home/bieser/bin:/
> usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/bin/X11:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin:/usr/local/bin:/opt/pgi/linux86-64/2012/bin:/opt/intel/Compiler/11.1/072/bin/intel64:/opt/matlab/bin:
> /opt/vni/wave/bin:/usr/local/scilab-4.1/bin:/opt/gcc-4.5.0/bin:/opt/g95di32/bin:/usr/local/texlive/2010/bin/x86_64-linux:/usr/local/globus-5.0.3/bin
> +++ pwd
> /local/home/bieser/CMAQ5.0.1/automake/automake-1.12.6/t/lex-depend-cxx.dir
> + cat
> + cat
> + cat
> + cp joe.ll moe.l++
> + cat
> + aclocal-1.12 -Werror
> + automake-1.12 --foreign -Werror -Wall -a
> configure.ac: installing './ylwrap'
> + /usr/bin/grep -F joe.Po Makefile.in
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/joe.Po@am__quote@
> ÿÿÿÿÿÿÿ test -f $(DEPDIR)/joe.Po
> + /usr/bin/grep -F moe.Po Makefile.in
> @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/moe.Po@am__quote@
> ÿÿÿÿÿÿÿ test -f $(DEPDIR)/moe.Po
> + autoconf
> + ./configure --enable-dependency-tracking
> 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
> 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 c++ accepts -g... yes
> checking for style of include used by make... GNU
> checking dependency style of c++... gcc3
> checking for gcc... gcc
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking dependency style of gcc... gcc3
> checking for flex... lex
> checking lex output file root... lex.yy
> checking lex library... -lfl
> 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: executing depfiles commands
> + make test-deps-exist
> ls -l .deps ;: For debugging.
> total 8
> -rw-r--r-- 1 bieser KBC 8 2013-01-11 12:05 joe.Po
> -rw-r--r-- 1 bieser KBC 8 2013-01-11 12:05 moe.Po
> test -f .deps/joe.Po
> test -f .deps/moe.Po
> + make
> /bin/sh ./ylwrap joe.ll lex.yy.c joe.cc -- lexÿ 
> c++ -DPACKAGE_NAME=\"lex-depend-cxx\" -DPACKAGE_TARNAME=\"lex-depend-cxx\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"lex-depend-cxx\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lex-dep
> end-cxx\" -DVERSION=\"1.0\" -I.ÿÿÿÿ -g -O2 -MT joe.o -MD -MP -MF .deps/joe.Tpo -c -o joe.o joe.cc
> joe.ll:3: error: previous declaration of &#8216;int isatty(int)&#8217; with &#8216;C++&#8217; linkage
> /usr/include/unistd.h:743: error: conflicts with new declaration with &#8216;C&#8217; linkage
> /usr/include/unistd.h:743: error: declaration of &#8216;int isatty(int) throw ()&#8217; throws different exceptions
> joe.ll:3: error: from previous declaration &#8216;int isatty(int)&#8217;
>
Weird, it seems Flex is not respecting the "YY_NO_UNISTD_H" #define
given in 'parsefoo.lxx'.  Which version of Flex are you using?

> make: *** [joe.o] Error 1
> + am_exit_trap 2
> + exit_status=2
> + set +e
> + cd /local/home/bieser/CMAQ5.0.1/automake/automake-1.12.6
> + test none = tap
> + case $am_explicit_skips in
> + test 2 -eq 0
> + keep_testdirs=yes
> + am_keeping_testdirs
> + case $keep_testdirs in
> + return 0
> + set +x
> lex-depend-cxx: exit 2
> 
> 

> FAIL: t/lex-clean-cxx
> =====================
>
> [SNIP] since it has the same root of the other Lex failure.
>

> 
> [...]
> 
> 
> FAIL: t/yacc-bison-skeleton-cxx
> ===============================
> 
> yacc-bison-skeleton-cxx: running bison --version
> bison (GNU Bison) 2.1
>
> Written by Robert Corbett and Richard Stallman.
>
> Copyright (C) 2005 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.ÿ There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
This version of Bison is quite old, and that is likely causing a spurious
failure.  What happens if you update your Bison installation to a reasonably
modern one?  Let's say, at least Bison 2.4.

> [SNIP] rest of log

Thanks,
  Stefano