Felipe de Jesús Molina Bravo wrote:
Hi
My english is not good (sorry) but I try to explain my problem
I have apache2.2.9 with modperl 2.0.4 static; I have some perl modules
(development by me) with Sleepycat::DbXml library; when ran "make test"
for its modules all is fine (I also develop the test); I also use mason
(1.37).
When i tried to acces some page generated for maso I gotten the next
messages (log/error):
/usr/local/apache2.2/bin/httpd: symbol lookup error:
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Sleepycat/DbXml/DbXml.so:
undefined symbol: _ZN5DbXml12XmlContainer10getManagerEv
if I execute "ldd
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Sleepycat/DbXml/DbXml.so"
the output is:
linux-gate.so.1 => (0xb7f25000)
libdbxml-2.4.so <http://libdbxml-2.4.so> =>
/usr/lib/libdbxml-2.4.so <http://libdbxml-2.4.so> (0xb7b97000)
libdb_cxx-4.6.so <http://libdb_cxx-4.6.so> =>
/usr/lib/libdb_cxx-4.6.so <http://libdb_cxx-4.6.so> (0xb7a4b000)
libxerces-c.so.28 => /usr/lib/libxerces-c.so.28 (0xb7643000)
libxqilla.so.4 => /usr/lib/libxqilla.so.4 (0xb726f000)
libgcc_s.so.1 =>
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libgcc_s.so.1 (0xb7263000)
libc.so.6 => /lib/libc.so.6 (0xb7139000)
libstdc++.so.6 =>
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6 (0xb7055000)
libm.so.6 => /lib/libm.so.6 (0xb7030000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7019000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb7002000)
/lib/ld-linux.so.2 (0x80000000)
This looks ok, but I'll defer to the wisdom of those with more ldd-fu.
my distribution is gentoo...
maybe the problem is caused by
- duplicate libraries with different versions
- or old libraries
I updated my system and delete duplicate libraries, but the problem
continue
anybody can help me? .... where can investigate?
another question is: why the problem is present only with apache?
Try rebuilding apache and mod_perl - it may be trying to load a version
of DbXML at runtime different than what it was built with. I've seen
similar problems in the past and rebuilding mp/httpd is usually a good
fix after eliminating the duplicate libs.