Archived

This forum has been archived. Please start a new discussion on GitHub.

Ice-1.1.0: compile error "undefined reference to xercesc_2_2"

the system is:
debian woody with gcc-3.2/g++-3.2 and xercesc-2.2

I try to compile Ice-1.1.0 and get this error:

make[2]: Entering directory `/usr/src/Ice/Ice-1.1.0/src/slice2xsd'
g++-3.2 -c -I. -I../../include -I/usr/local/xerces-c/include -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT Validate.cpp
rm -f ../../bin/xsdvalidate
g++-3.2 -g -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -L../../lib -o ../../bin/xsdvalidate Validate.o -lIceUtil -lpthread -L/usr/local/xerces-c/lib -lxerces-c
Validate.o(.text+0x1b): In function `toString(unsigned short const*)':
/usr/src/Ice/Ice-1.1.0/src/slice2xsd/Validate.cpp:62: undefined reference to `xercesc_2_2::XMLString::transcode(unsigned short const*)'
Validate.o(.text+0x12d): In function `main':
/usr/src/Ice/Ice-1.1.0/src/slice2xsd/Validate.cpp:106: undefined reference to `xercesc_2_2::XMLUni::fgXercescDefaultLocale'
Validate.o(.text+0x133):/usr/src/Ice/Ice-1.1.0/src/slice2xsd/Validate.cpp:106: undefined reference to `xercesc_2_2::XMLPlatformUtils::Initialize(char const*)'
Validate.o(.text+0x46a):/usr/src/Ice/Ice-1.1.0/src/slice2xsd/Validate.cpp:156: undefined reference to `xercesc_2_2::XercesDOMParser::XercesDOMParser[in-charge](xercesc_2_2::XMLValidator*)'
[...]
Validate.o(.gnu.linkonce.d.DW.ref._ZTIN11xercesc_2_212DOMExceptionE+0x0): undefined reference to `typeinfo for xercesc_2_2::DOMException'
collect2: ld returned 1 exit status
make[2]: *** [../../bin/xsdvalidate] Error 1
make[2]: Leaving directory `/usr/src/Ice/Ice-1.1.0/src/slice2xsd'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/usr/src/Ice/Ice-1.1.0/src'
make: *** [all] Error 1

Any ideas?

Best regards,
Urs

Comments

  • mes
    mes California
    Hi,

    Did you build Xerces yourself, or did you obtain binaries from somewhere?

    If you built it yourself, did you build it using gcc 3.2? What options did you specify for runConfigure?
  • Originally posted by mes
    Hi,

    Did you build Xerces yourself, or did you obtain binaries from somewhere?

    If you built it yourself, did you build it using gcc 3.2? What options did you specify for runConfigure?

    Hi Mark

    Yes this was my mistake,
    I have compiled Xerces with gcc 2.96 as you say.
    Now I have compiled Xerces again with gcc 3.2
    and it is running.
    Only one problem the same as in the posting from
    georgeal "Linker error while building IceBox".
    So I need only fix the problem with "Berkeley DB".

    Thank you for your answer!

    Regards
    Urs :)