[ 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]
