[Top][All Lists]
[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
- Re: [TEST FAILURE] branch-2-0, Solaris 2.9, Sun C compiler 5.5,
Ralf Wildenhues <=