Graham Dumpleton
grahamd at dscpl.com.au
Wed Jan 26 18:58:35 EST 2005
Graham Dumpleton wrote .. > On Linux, you might be able to use "ldd" to work this out by running it > on the "httpd" binary, as well as the appropriate .so Python module. > > ldd /somepath-to-apache-bin-dir/httpd > ldd /somepath-to-python-module-dir/lib-dynload/pyexpat.so > ldd /somepath-to-apache-module-dir/*php*.so > > The paths will need to be adjusted obviously. > > Please post the results of ldd if you can as am curious to see if this > does help, I have never suggested trying it before. FWIW, below is what I got on a Linux box I have access to. Unfortunately it doesn't show a dependency of pyexpat.so onto libexpat.so, which is what I would have expected. This doesn't mean that pyexpat.so doesn't still require the library, just that the dependency may not have been encoded into the .so and instead that the .so expects it to somehow have already been linked into the application or loaded by another module. I can't though find another module which loads it. I could just be wrong in thinking that pyexpat.so is the one that would require libexpat.so, the name certainly suggests it might though. Either way, look for the presence of multiple libexpat.so versions in the /usr/lib directory. If there are, it suggests the potential for this particular problem I am talking about. [grahamd at dscpl grahamd]$ ldd /usr/sbin/httpd ....... deleted libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7e8c000) ....... deleted [grahamd at dscpl grahamd]$ ldd /usr/lib/python2.3/lib-dynload/pyexpat.so linux-gate.so.1 => (0xffffe000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7fc0000) libc.so.6 => /lib/tls/libc.so.6 (0xb7ea5000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) [grahamd at dscpl grahamd]$ ldd /etc/httpd/modules/*php* ....... deleted libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7dca000) ....... deleted [grahamd at dscpl grahamd]$ ls -las /usr/lib/libexpat.so 0 lrwxrwxrwx 1 root root 17 Dec 7 00:14 /usr/lib/libexpat.so -> libexpat.so.0.5.0 [grahamd at dscpl grahamd]$ ls -las /usr/lib/libexpat.so* 0 lrwxrwxrwx 1 root root 17 Dec 7 00:14 /usr/lib/libexpat.so -> libexpat.so.0.5.0 0 lrwxrwxrwx 1 root root 17 Dec 7 00:14 /usr/lib/libexpat.so.0 -> libexpat.so.0.5.0 128 -rwxr-xr-x 20 root root 126144 Oct 22 20:52 /usr/lib/libexpat.so.0.5.0 [
|