bug-automake
[Top][All Lists]
Advanced

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

Re: "gmake check" told me to "Please report to ..."


From: Ralf Wildenhues
Subject: Re: "gmake check" told me to "Please report to ..."
Date: Sat, 31 Jan 2009 10:39:17 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

* Chris Hoogendyk wrote on Fri, Jan 30, 2009 at 01:57:27PM CET:
> Ralf Wildenhues wrote:
>> * Chris Hoogendyk wrote on Thu, Jan 29, 2009 at 10:14:08PM CET:
>>   
>>> This was run on a Sun T5220 using gccfss with gmake under Solaris 10.

>>> Is there anything else I can do for you?
>>
>> Yes: please post the output of
>>   cd tests
>>   gmake check VERBOSE=yes TESTS="check10.test mmodely.test spy.test"
>
> pasted below.

Thanks.  The check10.test failure was a bug in the test suite, since
fixed (after the 1.10.2 release).

The spy.test failure is weird (but harmless):
> /usr/local/src/gnu-automake/automake-1.10.2/tests:/usr/local/gcc/bin:/opt/coolstack/bin:/usr/local/sbin:/usr/local/bin:/usr/sfw/sbin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/ucb
> === Running test ./spy.test
> + pwd /usr/local/src/gnu-automake/automake-1.10.2/tests/testSubDir
> + set -e + cat + touch b c + sleep 2 + : + gmake gmake: `a' is up to 
> date.
> + cat a + test  =  + sleep 2 + touch b + gmake echo rule1 >> a
> + cat a + test rule1 = rule1 + : + sleep 2 + touch c + gmake gmake: `a' 
> is up to date.
> + cat a + test  = rule2 FAIL: spy.test

Which gmake version do you have, and is your build tree on some
networked file system or other that has slow updates?


The remaining failure is mmodely.test:

> /usr/local/src/gnu-automake/automake-1.10.2/tests:/usr/local/gcc/bin:/opt/coolstack/bin:/usr/local/sbin:/usr/local/bin:/usr/sfw/sbin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/ucb
> mmodely: running gcc --version
> sparc-sun-solaris2.10-gcc (GCC) 4.2.0 (gccfss)
> Copyright (C) 2007 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.
>
> === Running test ./mmodely.test
> + pwd /usr/local/src/gnu-automake/automake-1.10.2/tests/testSubDir
> + set -e + cat + cat + cat int joe (int arg)
> {
>    return arg * 2;
> }
> + cat int joe (int arg);
> int main (int argc, char **argv)
> {
>    exit (joe (argc));
> }
> + sleep 2 + : + : + aclocal-1.10 -Werror + autoconf + automake-1.10 
> --foreign -Werror -Wall -a configure.in: installing `./ylwrap'
> + ./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 gmake sets $(MAKE)... yes
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking for gcc... gcc
> 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... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking for style of include used by gmake... GNU
> checking dependency style of gcc... gcc3
> checking for flex... flex
> checking lex output file root... lex.yy
> checking lex library... -lfl
> checking whether yytext is a pointer... yes
> checking for bison... bison -y
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: executing depfiles commands
> + gmake test -f zardoz.c || /bin/bash ./ylwrap zardoz.y y.tab.c zardoz.c 
> y.tab.h zardoz.h y.output zardoz.output -- false  gcc 
> -DPACKAGE_NAME=\"mmodely\" -DPACKAGE_TARNAME=\"mmodely\" 
> -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"mmodely\ 1.0\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"mmodely\" -DVERSION=\"1.0\" 
> -DYYTEXT_POINTER=1 -I.   -I/usr/local/gcc/include 
> -I/opt/coolstack/include -I/usr/local/include -I/usr/sfw/include 
> -I/usr/include  -g -fast -xtarget=ultraT2 -L/opt/coolstack/lib 
> -R/opt/coolstack/lib -L/usr/local/gcc/lib -R/usr/local/gcc/lib 
> -L/usr/local/lib -R/usr/local/lib -L/usr/sfw/lib -R/usr/sfw/lib 
> -L/usr/lib -R/usr/lib -L /usr/ccs/lib -R/usr/ccs/lib -L/usr/ucblib 
> -R/usr/ucblib -MT zardoz.o -MD -MP -MF .deps/zardoz.Tpo -c -o zardoz.o 
> zardoz.c
> zardoz.c: In function 'main':
> zardoz.c:4: warning: incompatible implicit declaration of built-in function 
> 'exit'
> mv -f .deps/zardoz.Tpo .deps/zardoz.Po
> test -f joe.c || /bin/bash ./ylwrap joe.l lex.yy.c joe.c -- false  gcc 
> -DPACKAGE_NAME=\"mmodely\" -DPACKAGE_TARNAME=\"mmodely\" 
> -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"mmodely\ 1.0\" 
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"mmodely\" -DVERSION=\"1.0\" 
> -DYYTEXT_POINTER=1 -I.   -I/usr/local/gcc/include 
> -I/opt/coolstack/include -I/usr/local/include -I/usr/sfw/include 
> -I/usr/include  -g -fast -xtarget=ultraT2 -L/opt/coolstack/lib 
> -R/opt/coolstack/lib -L/usr/local/gcc/lib -R/usr/local/gcc/lib 
> -L/usr/local/lib -R/usr/local/lib -L/usr/sfw/lib -R/usr/sfw/lib 
> -L/usr/lib -R/usr/lib -L /usr/ccs/lib -R/usr/ccs/lib -L/usr/ucblib 
> -R/usr/ucblib -MT joe.o -MD -MP -MF .deps/joe.Tpo -c -o joe.o joe.c
> mv -f .deps/joe.Tpo .deps/joe.Po
> gcc  -g -fast -xtarget=ultraT2 -L/opt/coolstack/lib -R/opt/coolstack/lib 
> -L/usr/local/gcc/lib -R/usr/local/gcc/lib -L/usr/local/lib 
> -R/usr/local/lib -L/usr/sfw/lib -R/usr/sfw/lib -L/usr/lib -R/usr/lib -L 
> /usr/ccs/lib -R/usr/ccs/lib -L/usr/ucblib -R/usr/ucblib  
> -L/opt/coolstack/lib -R/opt/coolstack/lib -L/usr/local/gcc/lib 
> -R/usr/local/gcc/lib -L/usr/local/lib -R/usr/local/lib -L/usr/sfw/lib 
> -R/usr/sfw/lib -L/usr/lib -R/usr/lib -L/usr/ccs/lib -R/usr/ccs/lib 
> -L/usr/ucblib -R/usr/ucblib -o zardoz zardoz.o joe.o -lfl Undefined       
>                 first referenced
> symbol                             in file
> yylex                               /usr/sfw/lib/libfl.so
> ld: fatal: Symbol referencing errors. No output written to zardoz
> collect2: ld returned 1 exit status
> gmake: *** [zardoz] Error 1
> FAIL: mmodely.test

The Solaris linker links in libfl.so (although it needs no symbol from
it) then fails due to the unresolved symbol yylex in the library
(passing -Wl,-z,nodefs would prevent this failure).

I'm fixing the test like this (both branches), and adding you to THANKS.

Cheers,
Ralf

        Fix mmodely.test to work on Solaris 10.
        * tests/mmodely.test: Define yylex, to satisfy needed symbol in
        libfl.  Return from main instead of using exit, undeclared.
        * THANKS: Update.
        Report by Chris Hoogendyk.

diff --git a/tests/mmodely.test b/tests/mmodely.test
index fd11ac2..2173523 100755
--- a/tests/mmodely.test
+++ b/tests/mmodely.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2004, 2006, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2006, 2007, 2009  Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -39,18 +39,26 @@ zardoz_SOURCES = zardoz.y joe.l
 LDADD = @LEXLIB@
 END
 
-# The point of this test is that it is not dependant on a working lex or yacc.
+# The point of this test is that it is not dependent on a working lex or yacc.
 cat > joe.c <<EOF
 int joe (int arg)
 {
     return arg * 2;
 }
 EOF
+# 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)
 {
-    exit (joe (argc));
+    return joe (argc);
 }
 EOF
 




reply via email to

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