Hi,
I am able to build xerces2.8 library on Solaris 8 with the compiler Sun
WorkShop 6 update 2 C++ 5.3. I could link the xerces2.8 library with our
application
While running our application, we are getting the following error
bash-3.00# ./apachectl start
httpd: Syntax error on line 411 of /usr/getaccess/Apa/conf/httpd.conf:
Cannot load /opt/MyApp/Apache22/lib/libApache22Connector.so into server:
ld.so.1: httpd: fatal: relocation error: file
/opt/MyApp/Apache22/lib/libEmbeddedConfigurationClient.so: symbol
__1cLxercesc_2_8JGA_XMLUniWfgXercescDefaultLocale_: referenced symbol
not found
(For more information on our application, when apache webserver is
started, httpd.conf loads our application/webconnector
libApache22Connector.so which inturn loads one of our library
libEmbeddedConfigurationClient.so. libEmbeddedConfigurationClient.so
will use libxerces-c.so)
We could search with nm command and found that the symbol in
libxerces-c.so doesn't match with the symbol in the library
libEmbeddedConfigurationClient.so
bash-2.03$ /usr/ccs/bin/nm libxerces-c.so |grep DefaultLocale
[11799] | 4186018| 6|OBJT |GLOB |0 |21
|__1cLxercesc_2_8GXMLUniWfgXercescDefaultLocale_
bash-2.03$ /usr/ccs/bin/nm libEmbeddedConfigurationClient.so |grep
DefaultLocale
[1293] | 0| 0|NOTY |GLOB |0 |UNDEF
|__1cLxercesc_2_8JGA_XMLUniWfgXercescDefaultLocale_
We had done similar work on Linux (suse) but the symbol matches in both
the libraries.
linux-32suse:/opt/MyApp/Apache22/lib # nm libxerces-c.so.28 |grep
DefaultLocale
00333328 R _ZN11xercesc_2_86XMLUni22fgXercescDefaultLocaleE
linux-32suse:/opt/MyApp/Apache22/lib # nm
libEmbeddedConfigurationClient.so |grep DefaultLocale
U _ZN11xercesc_2_86XMLUni22fgXercescDefaultLocaleE
Any suggestions on this?
Regards,
Anil