[mod_python] Re: Upgrading expat for apache question

Graham Dumpleton graham.dumpleton at gmail.com
Mon Mar 8 17:46:06 EST 2010


That is not your problem, quoting:

http://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary

which is more up to date in respect of this issue, even if the
mod_wsgi variant of that document:

"""Note that this only applies to Python versions prior to Python 2.5.
>From Python 2.5 onwards, the copy of the "expat" library bundled in
with Python is name space prefixed, thereby avoid name clashes with an
"expat" library which has previously been loaded."""

You are using Python 2.6, so you cannot be affected by this problem.

Graham

On 9 March 2010 05:54, wayne collier <Wayne.Collier at noaa.gov> wrote:
> Hello all. I need some help solving the dreaded segmentation fault that has
> cropped several time on this board. I have read the link
> http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash and
> followed the step and have uncovered the following.
>
>
>> ldd    /usr/local/httpd-2.2.11/bin/httpd | grep expat
>     libexpat.so.0 => /lib/libexpat.so.0 (0x00d70000)
>
>> strings /lib/libexpat.so.0  | grep expat_
> expat_1.95.8
>
>>  ps aux | grep http | head -3
> webuser  14986  0.0  2.1  54236 19048 ?        S    Mar04   0:01
> /usr/local/httpd-2.2.11/bin/httpd -d /usr/local/httpd-2.2.11 -f
> /usr/local/httpd-2.2.11/conf/httpd.conf
> webuser  14987  0.0  3.2 144128 29540 ?        S    Mar04   0:01
> /usr/local/httpd-2.2.11/bin/httpd -d /usr/local/httpd-2.2.11 -f
> /usr/local/httpd-2.2.11/conf/httpd.conf
> webuser  14998  0.0  3.2 144212 29660 ?        S    Mar04   0:01
> /usr/local/httpd-2.2.11/bin/httpd -d /usr/local/httpd-2.2.11 -f
> /usr/local/httpd-2.2.11/conf/httpd.conf
>
>>  /usr/sbin/lsof -p 14986 | grep expat
>
> httpd   14986 webuser  mem    REG     3,5   572313  972637
> /opt/Python/lib/python2.6/lib-dynload/pyexpat.so
> httpd   14986 webuser  mem    REG     3,5   133120 1883791
> /lib/libexpat.so.0.5.0
>
> I am not sure why I get 2 shared libaries here.
>
>>  strings  /lib/libexpat.so.0.5.0 | grep expat_
> expat_1.95.8
>
>
>> strings /opt/Python/lib/python2.6/lib-dynload/pyexpat.so | grep expat_
> pyexpat.expat_CAPI 1.0
> expat_CAPI
> expat_2.0.0
>
>
>>>> import pyexpat
>>>> pyexpat.version_info
> (2, 0, 0)
>
>
> So it seems like I need get expat_1.95.8 apache is using up to expat_2.0.0.
> Can I simply try replacing the 1.95.8 library with 2.0.0. Or do I have
> recompile with Apache? If I do recompile I need to recompile apache with
> mod_python as well?
>
>
>
>



More information about the Mod_python mailing list