[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- shared library depending on static library on Solaris,
Sven Verdoolaege <=