[mod_python] mod_python with xmlrplib

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
[


More information about the Mod_python mailing list