[Top][All Lists]

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

multiply-defined symbols problem on solaris9 (libtool-1.5.18)

From: Derek Feichtinger
Subject: multiply-defined symbols problem on solaris9 (libtool-1.5.18)
Date: Fri, 19 Aug 2005 14:36:22 +0200
User-agent: KMail/1.7.2


I have a problem with multiply-defined symbols from two convenience libraries 
causing a link problem when I build a shared libtool library. This only 
happens to me on a number of solaris9 installations with the Forte Developer 
7 C++ compiler.

libtool version: 1.5.18
I use automake-1.6 and autoconf-2.59.

The multiply-defined symbols in libXrdNet and libXrdOuc (see output lines 
below) derive from template instantiations. In other compilers the symbols 
get included into the archives as WEAK symbols, so the linking is fine. But 
on this SUN Forte compiler the symbols are not weak and a clash happens. 

I can compile it from the command line if I modify the link line to contain 
either '-xar' or if I change the '-z -Qoption ld allextract,...' to 
'-z -Qoption ld defaultextract'.

Is there a way of communicating this in a simple way to libtool or does it 
require a patch? libtool silently ignores my attempts to get '-xar' on the 
command line, if I try to override the linker specification in configure to 
be 'CC -xar' (i.e. the libtool line still contains it, but after processing 
with libtool it is gone) 

Libtool output:

/bin/bash ../../libtool --mode=link CC  -DSUNCC -D_POSIX_PTHREAD_SEMANTICS 
-xarch=v8plus -D_REENTRANT  -L/usr/local/lib -mt -o libXrdSec.la 
-rpath /tmp/compiletest/install/lib -ldl XrdSecClient.lo XrdSecPManager.lo 
XrdSecServer.lo ../XrdOuc/libXrdOuc.la ../XrdNet/libXrdNet.la  -lssl

CC -G -nolib -hlibXrdSec.so.0 
-o .libs/libXrdSec.so.0.0.0   .libs/XrdSecClient.o .libs/XrdSecPManager.o 
.libs/XrdSecProtocolhost.o .libs/XrdSecServer.o 
-Qoption ld -z -Qoption ld 
allextract,../XrdOuc/.libs/libXrdOuc.a,../XrdNet/.libs/libXrdNet.a -Qoption 
ld -z -Qoption ld defaultextract  -L/usr/local/lib -ldl -lpthread -lrt 
-lsocket -lnsl -lssl   -mt

Thanks for any help,

reply via email to

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