libtool
[Top][All Lists]
Advanced

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

shared library depending on static library on Solaris


From: Sven Verdoolaege
Subject: shared library depending on static library on Solaris
Date: Tue, 10 May 2005 18:16:52 +0200
User-agent: Mutt/1.5.6i

I wrote a library called barvinok 
(http://www.kotnet.org/~skimo//barvinok/barvinok-0.15.tar.gz)
which uses a static library called ntl.

In configure.in, I simply do

AC_CHECK_LIB(ntl, main,[],[
    AC_MSG_ERROR(Need ntl)
])

so -lntl ends up in LIBS.

Now, what I would assume that would happen is
that libtool would notice that ntl is a static
library and not link it into the shared barvinok
library, but instead add -lntl to dependency_libs.
Unfortunately, on Solaris, libtool does try to
link in ntl in the shared library itself,
resulting in relocation errors.

/bin/sh ./libtool --mode=link g++  -g -O2 -L/home/sven/loop//lib 
-L/home/sven/loop//lib  -o libbarvinok.la -rpath /home/sven/loop//lib 
-version-info 8:0:4 ev_operations.lo genfun.lo util.lo barvinok.lo  -lntl 
-lpolylibgmp -lgmp 
g++ -shared -nostdlib  
/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/crti.o 
/usr/ccs/lib/values-Xa.o 
/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/crtbegin.o  
.libs/ev_operations.o .libs/genfun.o .libs/util.o .libs/barvinok.o  -Wl,-R 
-Wl,/home/sven/loop//lib -Wl,-R -Wl,/usr/local/lib/. -Wl,-R 
-Wl,/home/sven/loop//lib -Wl,-R -Wl,/usr/local/lib/. -L/home/sven/loop//lib 
-lntl /home/sven/loop//lib/libpolylibgmp.so /home/sven/loop//lib/libgmp.so 
-L/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3 
-L/usr/local/gnu/bin/../lib/gcc-lib 
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3 
-L/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/../../../../sparc-sun-solaris2.8/lib
 
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3/../../../../sparc-sun-solaris2.8/lib
 -L/usr/ccs/bin -L/usr/ccs/lib 
-L/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/../../.. 
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3/../../.. 
/usr/local/lib/./libstdc++.so 
-L/usr2/SOURCES/S8/gcc-3.3/objdir/sparc-sun-solaris2.8/libstdc++-v3/src 
-L/usr2/SOURCES/S8/gcc-3.3/objdir/sparc-sun-solaris2.8/libstdc++-v3/src/.libs 
-L/usr2/SOURCES/S8/gcc-3.3/objdir/gcc -L/usr/local/sparc-sun-solaris2.8/bin 
-L/usr/local/sparc-sun-solaris2.8/lib 
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/../../../sparc-sun-solaris2.8/lib 
-L/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/../.. -lm -lgcc_s 
/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/crtend.o 
/usr/local/gnu/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.3/crtn.o  -Wl,-h 
-Wl,libbarvinok.so.4 -o .libs/libbarvinok.so.4.4.0
Text relocation remains                         referenced
    against symbol                  offset      in file
<unknown>                           0x148       
/home/sven/loop//lib/libntl.a(tools.o)
[..many more symbols..]

This happens with both libtool 1.5.8 and 1.5.16.

Is there a problem with my assumptions or with libtool ?
What's the solution ?

billie$ uname -a
SunOS billie 5.8 Generic_117350-24 sun4u sparc
billie$ gcc --version
gcc (GCC) 3.3
Copyright (C) 2003 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.

billie$ ld -v
GNU ld version 2.11.2 (with BFD 2.11.2)

skimo




reply via email to

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