Luyi Chen
lychen1109 at gmail.com
Sun Apr 6 04:37:10 EDT 2008
Thanks Graham, Here's the info: $ ldd /usr/local/apache2/bin/httpd libz.so.1 => /usr/lib/libz.so.1 (0x00002b02938de000) libm.so.6 => /lib/libm.so.6 (0x00002b02939f4000) libaprutil-1.so.0 => /usr/local/apache2/lib/libaprutil-1.so.0 (0x00002b0293b79000) libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00002b0293c91000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00002b0293db3000) libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0 (0x00002b0293ed6000) librt.so.1 => /lib/librt.so.1 (0x00002b0293ffe000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002b0294107000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002b029423a000) libdl.so.2 => /lib/libdl.so.2 (0x00002b029434f000) libc.so.6 => /lib/libc.so.6 (0x00002b0294452000) /lib64/ld-linux-x86-64.so.2 (0x00002b02937c7000) $ ldd /usr/lib/libz.so.1 libc.so.6 => /lib/libc.so.6 (0x00002b2764dc5000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/libm.so.6 libc.so.6 => /lib/libc.so.6 (0x00002b8bf9a3c000) /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /usr/local/apache2/lib/libaprutil-1.so.0 libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00002b61001d0000) libapr-1.so.0 => /usr/local/apache2/lib/libapr-1.so.0 (0x00002b61002f2000) librt.so.1 => /lib/librt.so.1 (0x00002b610041e000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002b6100526000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002b610065a000) libdl.so.2 => /lib/libdl.so.2 (0x00002b610076f000) libc.so.6 => /lib/libc.so.6 (0x00002b6100871000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /usr/local/apache2/lib/libexpat.so.0 libc.so.6 => /lib/libc.so.6 (0x00002af851439000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /usr/lib/libexpat.so.1 libc.so.6 => /lib/libc.so.6 (0x00002b96d0162000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /usr/local/apache2/lib/libapr-1.so.0 librt.so.1 => /lib/librt.so.1 (0x00002ba649f41000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002ba64a04a000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002ba64a17d000) libdl.so.2 => /lib/libdl.so.2 (0x00002ba64a292000) libc.so.6 => /lib/libc.so.6 (0x00002ba64a395000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/librt.so.1 libc.so.6 => /lib/libc.so.6 (0x00002aab3a499000) libpthread.so.0 => /lib/libpthread.so.0 (0x00002aab3a6d3000) /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/libcrypt.so.1 libc.so.6 => /lib/libc.so.6 (0x00002ae20b9dd000) /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/libpthread.so.0 libc.so.6 => /lib/libc.so.6 (0x00002b15ada6d000) /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/libdl.so.2 libc.so.6 => /lib/libc.so.6 (0x00002b4f78de5000) /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) $ ldd /lib/libc.so.6 /lib/ld-linux-x86-64.so.2 (0x00002b7744489000) My own analysis is that apr-util depends on the old version of libexpat. So I checked Apache installation doc, and found that I can use --with-included-apr to force Apache use the bundled apr. Since my os (Ubuntu 6.06) is an old version, I thought this is very likely to be the cause. I tried to recompile Apache with the --with-included-apr option, here's my newest config.nice #! /bin/sh # # Created by configure "./configure" \ "--prefix=/usr/local/apache2" \ "--enable-proxy" \ "--enable-proxy-http" \ "--enable-proxy-balancer" \ "--enable-dav" \ "--enable-rewrite" \ "--enable-deflate" \ "--with-included-apr" \ "$@" But it didn't solve the problem. The above information from ldd command is actually after I recompiled Apache, which is unchanged. The libexpat on my OS is the latest version, because I have runned this command: apt-get install libexpat1 And it says it's already the newest version, which is 1.95.8-3 according to the ubuntu's pachage directory. Luyi On Sun, Apr 6, 2008 at 3:09 PM, Graham Dumpleton <graham.dumpleton at gmail.com> wrote: > 2008/4/5 Luyi Chen <lychen1109 at gmail.com>: > > > Hi, > > > > I am trying to make mod_python working on Apache 2.2.6, ubuntu dapper > > 6.06. But I was hit by the problem of wrong expat library issue, as > > stated by Graham Dumpleton, on this page > > http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash > > > > I am using a custom compiled Apache2 in /usr/local/apache2, so I > > checked version of libexpat with the following line, > > > > ldd /usr/local/apache2/bin/httpd > > > > in the result there're two lines > > libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0 (0x00002b4f4e1c5000) > > libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00002b4f4e2e7000) > > If you have this, then something is quite broken with your Apache > httpd to start with, before even mod_python is loaded. > > What is the full 'ldd' output from running it against 'httpd'. > > Also go through each of the .so file it is dependent upon and run > 'ldd' on them as well and post all the results. > > As far as I can tell, one of the .so files depended on by httpd is > itself dependent on libexpat (a different version), as I can't see > otherwise how you can get an executable dependent on two different > versions of a shared library. > > Graham > > > > The one in /usr/local/apache2/lib is an old version 1.95.2, while the > > one in /usr/lib is 1.95.8, which is identical to the version of > > libexpat used by python. > > > > How do I tell Apache to use the new version of libexpat only? > > > > Luyi > > _______________________________________________ > > Mod_python mailing list > > Mod_python at modpython.org > > http://mailman.modpython.org/mailman/listinfo/mod_python > > >
|