bug-libtool
[Top][All Lists]
Advanced

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

Re: [TEST FAILURE] branch-2-0, Solaris 2.9, Sun C compiler 5.5


From: Ralf Wildenhues
Subject: Re: [TEST FAILURE] branch-2-0, Solaris 2.9, Sun C compiler 5.5
Date: Fri, 18 Mar 2005 14:49:32 +0100
User-agent: Mutt/1.4.1i

Hi Ralf,

My plan is to kill the Solaris bugs reported, hopefully next week.
For this I need your help, see below.

* Ralf Menzel wrote on Wed, Jan 19, 2005 at 02:32:27PM CET:
> 
> I ran `make check' for a CVS checkout of branch-2-0 of libtool.
> This resulted in three failed tests. I attach the output of `make
> check' and the verbose output for the failing groups.
> 
> And this is the end of the output of `libtool --help':
> 
>       host-triplet:     sparc-sun-solaris2.9
>       shell:            /bin/bash
>       compiler:         cc
>       compiler flags:           -g
>       linker:           /usr/ccs/bin/ld (gnu? no)
>       libtool:          (GNU Process 1.1667.2.134 2005/01/16 14:07:05) this
>       automake:         automake (GNU automake) 1.9.4
>       autoconf:         autoconf (GNU Autoconf) 2.59
> 
> The Sun compilers are version 5.5.

Content-Description: output of `make check'
> PASS: tagdemo-conf.test
> FAIL: tagdemo-make.test
> SKIP: tagdemo-exec.test
> PASS: tagdemo-shared.test
> FAIL: tagdemo-make.test
> SKIP: tagdemo-exec.test
> PASS: tagdemo-undef.test
> PASS: tagdemo-make.test
> PASS: tagdemo-exec.test
> PASS: f77demo-static.test
> PASS: f77demo-make.test
> PASS: f77demo-exec.test
> PASS: f77demo-conf.test
> SKIP: f77demo-make.test
> SKIP: f77demo-exec.test
> PASS: f77demo-shared.test
> SKIP: f77demo-make.test
> SKIP: f77demo-exec.test

Please rerun the Fortran tests VERBOSEly as well.
Please also report the exact configure line you issued.

Content-Description: output of `VERBOSE=yes make check TESTS='demo-shared.test 
demo-make.test demo-inst.test demo-hardcode.test''
*snip*
> demo-hardcode.test: ===  Running demo-hardcode.test
> demo-hardcode.test: ===  Running `make hardcode' in demo
> make[4]: Entering directory 
> `/home/menzel/src/testing/suncc/libtool-2-0/tests/demo'
> You may ignore any linking errors from the following command:
> cc -g  -o hc-direct main.o ./.libs/libhello.so  -lm 
> -R/home/menzel/src/testing/suncc/libtool-2-0/tests/_inst/lib || echo 
> unsupported > hc-direct
> cc -g  -o hc-libflag main.o 
> -R/home/menzel/src/testing/suncc/libtool-2-0/tests/demo/.libs 
> -L/home/menzel/src/testing/suncc/libtool-2-0/tests/_inst/lib -lhello  -lm
> You may ignore any linking errors from the following command:
> LD_LIBRARY_PATH=./.libs cc -g  -o hc-libpath main.o -lhello  -lm 
> -R/home/menzel/src/testing/suncc/libtool-2-0/tests/_inst/lib || echo 
> unsupported > hc-libpath
> cc -g  -o hc-minusL main.o -L./.libs -lhello  -lm 
> -R/home/menzel/src/testing/suncc/libtool-2-0/tests/_inst/lib || echo 
> unsupported > hc-minusL
> make[4]: Leaving directory 
> `/home/menzel/src/testing/suncc/libtool-2-0/tests/demo'
> demo-hardcode.test: ===  Finding libtool.m4's guesses at hardcoding values
> = Searching for hardcoded library directories in each program
> .libs was hardcoded in `hc-direct', which fooled libtool
> .libs was hardcoded in `hc-libflag', as libtool expected
> .libs was hardcoded in `hc-libpath', which fooled libtool
> .libs was hardcoded in `hc-minusL', which fooled libtool
> FAIL: demo-hardcode.test

I want to look at this later, not yet.
Just a question:  What does
  env | grep LD
give (i.e., do you have LD_PRELOAD or similar set)?


Content-Description: output of `VERBOSE=yes make check TESTS='tagdemo-conf.test 
tagdemo-make.test''
*snip*
> /bin/sh ./libtool --tag=CXX --mode=link CC  -g   -o libfoo.la -rpath 
> /home/menzel/src/testing/suncc/libtool-2-0/tests/_inst/lib -no-undefined 
> foo.lo libconv.la -lm 
> CC -G -zdefs -nolib -hlibfoo.so.0 -o .libs/libfoo.so.0.0.0   .libs/foo.o  
> -Qoption ld -z -Qoption ld allextract,./.libs/libconv.a -Qoption ld -z 
> -Qoption ld defaultextract  -lm    
> Undefined                     first referenced
>  symbol                           in file
> std::ostream &std::ostream::operator<<(double) .libs/foo.o
> std::ostream &std::operator<<(std::ostream &,const char*) .libs/foo.o
> std::ostream &std::ostream::flush() .libs/foo.o
> std::ostream &std::ostream::put(char) .libs/foo.o
> std::cout                      .libs/foo.o
> [Hint: static member std::cout must be defined in the program]
> 
> std::ostream &std::ostream::operator<<(std::ostream &(*)(std::ostream &)) 
> .libs/foo.o
> ld: fatal: Symbol referencing errors. No output written to 
> .libs/libfoo.so.0.0.0
> make[4]: *** [libfoo.la] Error 1
> make[4]: Leaving directory 
> `/home/menzel/src/testing/suncc/libtool-2-0/tests/tagdemo'
> FAIL: tagdemo-make.test

Please, after running these tests again, go into tests/tagdemo, execute
the above link line ("CC -G -zdefs...") with `-v' added.

I don't know much about Solaris, but Docs suggest there may be more
than one choice for the Standard C++ library to be added.  So, let's
gather information first:  What does
  libtool --tag=CXX --config | grep postdeps

give?  What happens if you issue the link line manually "CC -G -zdefs.."
and leave out the "-nolib"?  Please add "-dryrun" to see which libraries
are added.

We may just need to teach libtool to try -dryrun to find out the system
libs, but I'm not sure.


Content-Description: output of `VERBOSE=yes make check 
TESTS='tagdemo-shared.test tagdemo-make.test''
*snip*
> FAIL: tagdemo-make.test

The cause of this should be identical to above.

Thanks,
Ralf




reply via email to

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