In fact LD_LIBRARY_PATH was pointing to a different xerces library. I fixed that but the same problem is still happening.
I tried to get the program used for test this and guess what: when I compile manually the same error occur! sea-dev-sol-2:xerces> /usr/bin/CC -o conftest -g -mt -D_REENTRANT -I/export/home/hrodrigu/dev/xerces/xerces-c-3.1.1/include -L/export/home/hrodrigu/dev/xerces/xerces-c-3.1.1/lib conftest.cpp -lxerces-c -lsocket -lm -lpthread Undefined first referenced symbol in file void xercesc_3_1::XMLPlatformUtils::Initialize(const char*const,const char*const,xercesc_3_1::PanicHandler*const,xercesc_3_1::MemoryManager*const) conftest.o xercesc_3_1::XMLUni::fgXercescDefaultLocale conftest.o [Hint: static member xercesc_3_1::XMLUni::fgXercescDefaultLocale must be defined in the program] ld: fatal: Symbol referencing errors. No output written to conftest sea-dev-sol-2:xerces> ls conftest.cpp conftest.o xerces-c-3.1.1 xerces-c-3.1.1.tar sea-dev-sol-2:xerces> nm conftest.o conftest.o: [Index] Value Size Type Bind Other Shndx Name [6] | 0| 0|SECT |LOCL |0 |2 | [2] | 0| 0|SECT |LOCL |0 |6 | [3] | 0| 0|SECT |LOCL |0 |9 | [4] | 0| 0|SECT |LOCL |0 |11 | [5] | 0| 0|SECT |LOCL |0 |10 | [16] | 4| 4|OBJT |GLOB |0 |4 |$XALkPqAwXnaO3yU.gXercesFullVersionStr [15] | 8| 4|OBJT |GLOB |0 |4 |$XALkPqAwXnaO3yU.gXercesMajVersion [14] | 12| 4|OBJT |GLOB |0 |4 |$XALkPqAwXnaO3yU.gXercesMinVersion [13] | 16| 4|OBJT |GLOB |0 |4 |$XALkPqAwXnaO3yU.gXercesRevision [17] | 0| 4|OBJT |GLOB |0 |4 |$XALkPqAwXnaO3yU.gXercesVersionStr *[11] | 0| 0|NOTY |GLOB |0 |UNDEF |__1cLxercesc_3_1GXMLUniWfgXercescDefaultLocale_* *[10] | 0| 0|FUNC |GLOB |0 |UNDEF |__1cLxercesc_3_1QXMLPlatformUtilsKInitialize6Fkpkc4kpn0AMPanicHandler_kpn0ANMemoryManager__v_ * [7] | 0| 0|NOTY |LOCL |0 |3 |Bbss.bss [1] | 0| 0|FILE |LOCL |0 |ABS |conftest.cpp [8] | 0| 0|NOTY |LOCL |0 |4 |Ddata.data [9] | 0| 0|NOTY |LOCL |0 |5 |Drodata.rodata [18] | 0| 0|NOTY |GLOB |0 |ABS |__fsr_init_value [12] | 16| 52|FUNC |GLOB |0 |2 |main I tried to look into libxerces-c.so with nm but couldn't find the exact name of the symbol... The conftest.cpp has this: sea-dev-sol-2:xerces> more conftest.cpp /* confdefs.h */ #define PACKAGE_NAME "XML-Security-C" #define PACKAGE_TARNAME "xml-security-c" #define PACKAGE_VERSION "1.6.1" #define PACKAGE_STRING "XML-Security-C 1.6.1" #define PACKAGE_BUGREPORT "[email protected]" #define PACKAGE_URL "" #define PACKAGE "xml-security-c" #define VERSION "1.6.1" #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DLFCN_H 1 #define LT_OBJDIR ".libs/" #define HAVE_PTHREAD 1 #define HAVE_LIBM 1 #define HAVE_LIBSOCKET 1 #define HAVE_UNISTD_H 1 #define XSEC_HAVE_STRCASECMP 1 /* end confdefs.h. */ #include <xercesc/util/PlatformUtils.hpp> int main () { xercesc::XMLPlatformUtils::Initialize() ; return 0; } On Fri, Sep 9, 2011 at 4:05 PM, Cantor, Scott <[email protected]> wrote: > On 9/9/11 4:02 PM, "Helio Cola Rodrigues" <[email protected]> wrote: > > > >I'm right now trying to troubleshoot another issue... > > You probably haven't set LD_LIBRARY_PATH to locate Xerces. > > -- Scott > >
