Title: Message
This has been discussed as recently as yesterday. You may find a resolution in the archives at http://marc.theaimsgroup.com/?l=xerces-c-dev. Try searching for "solaris."
-----Original Message-----
From: Sarup, Saurabh (Exchange) [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 18, 2003 3:17 PM
To: [EMAIL PROTECTED]
Subject: Link Errors for Templates in Shared Library

I downloaded and built Xerces ver 2.3 on Solaris 2.6 using the Sun C++ Workshop Compiler 5.0 as a shared library.
There were no errors reported in the build.

When I try to build the samples, I get 'Undefined Symbol' errors for templates.
Some of the messages are:

    Undefined     first referenced
     symbol           in file
    xercesc_2_3::RefVectorOf<xercesc_2_3::SchemaElementDecl>::RefVectorOf(const unsi
    gned,const bool) /dc3033/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    bool xercesc_2_3::ValueVectorOf<unsigned>::containsElement(const unsigned&,const
     unsigned) /dc3033/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    unsigned xercesc_2_3::NameIdPool<xercesc_2_3::DTDEntityDecl>::put(xercesc_2_3::D
    TDEntityDecl*const) /dc3033/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    unsigned xercesc_2_3::ValueVectorOf<xercesc_2_3::DOMElement*>::size()const /dc30
    33/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    unsigned xercesc_2_3::BaseRefVectorOf<xercesc_2_3::IC_Field>::size()const /dc303
    3/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    void xercesc_2_3::BaseRefVectorOf<xercesc_2_3::XMLNumber>::insertElementAt(xerce
    sc_2_3::XMLNumber*const,const unsigned) /dc3033/home/ssarup/xerces-c-src2_3_0/li
    b/libxerces-c.so
    xercesc_2_3::ENameMapFor<xercesc_2_3::XMLWin1252Transcoder>::ENameMapFor(const u
    nsigned short*const) /dc3033/home/ssarup/xerces-c-src2_3_0/lib/libxerces-c.so
    xercesc_2_3::RefHashTableOf<xercesc_2_3::ValueVectorOf<xercesc_2_3::SchemaElemen
    tDecl*> >::~RefHashTableOf() /dc3033/home/ssarup/xerces-c-src2_3_0/lib/libxerces
    -c.so

I did a 'nm' on the Xerces shared library and found that these symbols were not defined in the library.
Its as if the instantiated templates did not get added into the shared library.

Does anybody else know the solution to this problem?

Thanks,
Saurabh

--
Saurabh Sarup
[EMAIL PROTECTED]
(212) 272-4809

Reply via email to