[ 
http://issues.apache.org/jira/browse/XERCESC-1445?page=comments#action_12314709 
] 

Greg Franks commented on XERCESC-1445:
--------------------------------------

We upgraded libtool/automake/autoconf to something more recent, so the multiply 
defined symbols have disappeared.  However, when it gets to compiling the 
"samples" directory, I get undefined symbols, eg:

make[2]: Entering directory `/home/greg/src/xerces-3.0/samples'
Compiling src/CreateDOMDocument/CreateDOMDocument.cpp
/bin/bash ../libtool --tag=CXX --mode=link CC  -g -D_REENTRANT    -o 
CreateDOMDocument  src/CreateDOMDocument/CreateDOMDocument.o 
../obj/libxerces.la -lnsl -lsocket  -lpthread
mkdir .libs
CC -g -D_REENTRANT -o .libs/CreateDOMDocument 
src/CreateDOMDocument/CreateDOMDocument.o  ../obj/.libs/libxerces.so -lnsl 
-lsocket -lpthread -R/home/greg/SunOS//lib
ild: (undefined symbol) void xercesc_3_0::XMLString::release(unsigned 
short**,xercesc_3_0::MemoryManager*const) -- referenced in the text segment of 
src/CreateDOMDocument/CreateDOMDocument.o
ild: (undefined symbol) void xercesc_3_0::XMLPlatformUtils::Terminate() -- 
referenced in the text segment of src/CreateDOMDocument/CreateDOMDocument.o
ild: (undefined symbol) xercesc_3_0::XMLUni::fgXercescDefaultLocale -- 
referenced in the text segment of src/CreateDOMDocument/CreateDOMDocument.o
[Hint: static member xercesc_3_0::XMLUni::fgXercescDefaultLocale should be 
defined in the program ,see Annotated Reference Manual (ARM) Section 9.4]

ild: (undefined symbol) unsigned short*xercesc_3_0::XMLString::transcode(const 
char*const,xercesc_3_0::MemoryManager*const) -- referenced in the text segment 
of src/CreateDOMDocument/CreateDOMDocument.o
ild: (undefined symbol) void xercesc_3_0::XMLPlatformUtils::Initialize(const 
char*const,const 
char*const,xercesc_3_0::PanicHandler*const,xercesc_3_0::MemoryManager*const,bool)
 -- referenced in the text segment of src/CreateDOMDocument/CreateDOMDocument.o
ild: (undefined symbol) 
xercesc_3_0::DOMImplementation*xercesc_3_0::DOMImplementationRegistry::getDOMImplementation(const
 unsigned short*) -- referenced in the text segment of 
src/CreateDOMDocument/CreateDOMDocument.o
ild: (undefined symbol) xercesc_3_0::__RTTI__1nLxercesc_3_0MDOMException_ -- 
referenced in the data segment of src/CreateDOMDocument/CreateDOMDocument.o
[Hint: static member xercesc_3_0::__RTTI__1nLxercesc_3_0MDOMException_ should 
be defined in the program ,see Annotated Reference Manual (ARM) Section 9.4]

etc.

Also, the libxerces.a file is two orders of magnitude bigger than the one for 
2.6.  Could debugging code (-g) explain the difference?



> 3.0 unstable -- multiply defined symbols.  Solaris compilation, Sunpro CC.
> --------------------------------------------------------------------------
>
>          Key: XERCESC-1445
>          URL: http://issues.apache.org/jira/browse/XERCESC-1445
>      Project: Xerces-C++
>         Type: Bug
>   Components: Build
>     Versions: Nightly build (please specify the date)
>  Environment: % uname -a
> SunOS merlin.sce.carleton.ca 5.9 Generic_118558-04 sun4u sparc 
> SUNW,Sun-Blade-100
> % which CC
> /opt/SUNWspro/bin/CC
> %
>     Reporter: Greg Franks
>  Attachments: make.out
>
> make[2]: Entering directory `/home/greg/src/xerces-3.0/obj'
> /bin/sh ../libtool --tag=CXX --mode=link CC  -g -D_REENTRANT    -o 
> libxerces.la -rpath /home/greg/SunOS//lib -release 3.0  \
> ../src/libsrc.la ../lib/libcompat.la -lnsl -lsocket  -lpthread
> mkdir .libs
> CC -G -nolib -hlibxerces-3.0.so -o .libs/libxerces-3.0.so   -Qoption ld -z 
> -Qoption ld allextract,../src/.libs/libsrc.a,../\
> lib/.libs/libcompat.a -Qoption ld -z -Qoption ld defaultextract  -lnsl 
> -lsocket -lpthread
> ld: fatal: symbol `xercesc_3_0::ArrayJanitor<unsigned 
> short>::ArrayJanitor(unsigned short*const,xercesc_3_0::MemoryManager*\
> const)' is multiply-defined:
>         (file ../src/.libs/libsrc.a(5p1Hx3-VEoc2SE8Hxf3c.o) type=FUNC; file 
> ../src/.libs/libsrc.a(lt1-5p1Hx3-VEoc2SE8Hxf3c.\
> o) type=FUNC);
> There are many more -- I will attach the complete output from the build.
> A couple of thoughts:
> 1) Template instantiation is not being done correctly someplace.
> 2)  ar is being used instead of CC -xar in one place:
> ln .libs/libsrc.lax/libposixfmgr.a/CYlL5XBusGc3QexZRON2.o 
> .libs/libsrc.lax/lt777-CYlL5XBusGc3QexZRON2.o || cp .libs/libsrc.\
> lax/libposixfmgr.a/CYlL5XBusGc3QexZRON2.o 
> .libs/libsrc.lax/lt777-CYlL5XBusGc3QexZRON2.o
> ln .libs/libsrc.lax/libposixfmgr.a/LnpLxyFd9IXk4HQ5rcj9.o 
> .libs/libsrc.lax/lt778-LnpLxyFd9IXk4HQ5rcj9.o || cp .libs/libsrc.\
> lax/libposixfmgr.a/LnpLxyFd9IXk4HQ5rcj9.o 
> .libs/libsrc.lax/lt778-LnpLxyFd9IXk4HQ5rcj9.o
> ar cru .libs/libsrc.a .libs/libsrc.lax/libutil.a/Base64.o 
> .libs/libsrc.lax/libutil.a/BinFileInputStream.o .libs/libsrc.lax/\
> ...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to