bug-libtool
[Top][All Lists]
Advanced

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

Re: 1 test ( tests/mdemo2-make.test ) fails on Solaris 10


From: Dr. David Kirkby
Subject: Re: 1 test ( tests/mdemo2-make.test ) fails on Solaris 10
Date: Sun, 14 Jun 2009 20:09:34 +0100
User-agent: Thunderbird 2.0.0.19 (X11/20090218)

Ralf Wildenhues wrote:
Hello David,

* Dr. David Kirkby wrote on Fri, Jun 12, 2009 at 11:14:27PM CEST:
I built libtool 2.2.6 on a Sun T5240 (128 cores) running Solaris 10
update 4.

tests/mdemo2-make failed. (All the others pass)

Thanks for the report.  Can you rerun the following

  make check -k TESTS="tests/mdemo-conf.test tests/mdemo-make.test \
        tests/mdemo-exec.test \
        tests/mdemo-inst.test tests/mdemo-unst.test tests/mdemo-dryrun.test \
        tests/mdemo2-conf.test tests/mdemo2-make.test tests/mdemo2-exec.test" \
        VERBOSE=yes

and send the output of that, plus tests/testsuite.log?  The command will
also run the new Autotest-based testsuite, which produces the latter
file.  You might need to gzip files.

Thanks,
Ralf



OK,

I created a small script which redirected both stdout and stderr to the same file.

./configure  > conf.log  2>&1
make  > make.log 2>&1
make check > make-check.log 2>&1
make check -k TESTS="tests/mdemo-conf.test tests/mdemo-make.test \
tests/mdemo-exec.test \
tests/mdemo-inst.test tests/mdemo-unst.test tests/mdemo-dryrun.test \
tests/mdemo2-conf.test tests/mdemo2-make.test tests/mdemo2-exec.test" \
VERBOSE=yes > mdemo.log 2>&1

then I run it. Note there is a serious problem in the file mdemo.log, with

../mdemo/.libs/libmlib.so: undefined reference to address@hidden'
../mdemo/.libs/libmlib.so: undefined reference to address@hidden'
../mdemo/.libs/libmlib.so: undefined reference to address@hidden'
../mdemo/.libs/libmlib.so: undefined reference to address@hidden'

I've noticed this exact same error message yesterday, or perhaps the day before. A Google search will show they have come up for years. In each case libtool has been used.

I've done some work on this, as these undefined references were really screwing up the Sage software I'm working on.

http://www.sagemath.org/

Sage uses sqlite and it was sqlite which would not build properly, instead generating an error similar to above. So I asked on the sqlite mailing list.

address@hidden

My message is archived here:

http://www.mail-archive.com/address@hidden/msg43510.html

The reason sqlite was not building was that the link process when building a shared library had

-lpthread -lc

Changing the order to

-lc -lpthread


solved the problem, but I've no idea if that was possible to do in libtool anyway.

However, it was pointed out to me by a Sun employee that there is no need to ever link libpthread in Solaris 10. Al the functionality has been moved to libc.

What I have done for the Sage project is to basically hack the Makefile generated by sqlite, and remove the -lpthread.

Reading these two short test files should make it obvious what I have done.

http://sage.math.washington.edu/home/kirkby/Solaris-fixes/sqlite/

So I think you must ensure that libpthread is linked after libc, not before it. But on Solaris 10, it is not necessary to link libpthread at all.


Note these 'undefined reference' messages with SUNW in the name have come up for years with different versions of gcc. In gcc 4.3.2 I don't see them, but I do see them in 4.4.0


Dave

Attachment: Solaris-10u4-Sun-T5240.tar.gz
Description: GNU Zip compressed data


reply via email to

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