[mod_python] wrong version?

Graham Dumpleton graham.dumpleton at gmail.com
Tue Apr 8 00:52:05 EDT 2008


Did you do a full stop and start of Apache, not just a restart/reload?

2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>:
> 2857 -rwxr-xr-x    1 root     root      2911798 Apr  7 23:14
> /usr/local/apache28/modules/mod_python.so
>
> /usr/local/apache28/modules/mod_python.so: ELF 32-bit LSB shared object,
> Intel 80386, version 1 (SYSV), not stripped
>
>  libpthread.so.0 => /lib/libpthread.so.0 (0xb7e54000)
>         libdl.so.2 => /lib/libdl.so.2 (0xb7e50000)
>         libutil.so.1 => /lib/libutil.so.1 (0xb7e4d000)
>         libm.so.6 => /lib/libm.so.6 (0xb7e2c000)
>          libc.so.6 => /lib/libc.so.6 (0xb7d09000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fee000)

This all indicates that your Python has not been installed with a
shared library and that Python is being linked statically into
mod_python.so. This is generally not a good as it bloats your Apache
processes by a couple of MB in size. It can also cause issues,
especially when upgrading from older to newer mod_python and/or
different version of Python. Thus why it is important to do a full
stop of Apache when replacing mod_python.so in this case.

For details of Python shared library issues, see:

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

This is from mod_wsgi documentation, but same issues apply.

BTW, one more possibility is if you have multiple versions of Apache
installed when mod_python was compiled it used the wrong header files.
How did you install mod_python.so.

How many different versions of Apache do you have installed?

What options did you use to 'configure' when building mod_python?

Did you use the 'install' target to 'make' or copy it by hand?

If copied by hand, maybe it was compiled against wrong version of
Apache for which you copied it into. You may want tp pay very careful
attention to the -I flags to compiler when mod_python was compiled.

Graham

> On Tue, Apr 8, 2008 at 12:30 AM, Graham Dumpleton
> <graham.dumpleton at gmail.com> wrote:
>
> > What do you get when you run:
> >
> >  ls -las /usr/local/apache28/modules/mod_python.so
> >
> > and:
> >
> >
> >  file /usr/local/apache28/modules/mod_python.so
> >
> > and:
> >
> >  ldd /usr/local/apache28/modules/mod_python.so
> >
> > Graham
> >
> >
> >
> >
> > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>:
> > > Hi Graham,
> > >
> > > Thanks for the quick reply.
> > >
> > > I compiled all 3: python,apache,mod python.  Did not use binaries for
> any of
> > > them.
> > >
> > >
> > >
> > > On Tue, Apr 8, 2008 at 12:22 AM, Graham Dumpleton
> > > <graham.dumpleton at gmail.com> wrote:
> > >
> > > > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>:
> > > >
> > > >
> > > >
> > > > > Not sure what to make of this error.  I have apache 2.2.8, python
> 2.5.2
> > > and
> > > > > mod python 3.3.1.
> > > > >
> > > > > Any ideas?
> > > > >
> > > > >
> > > > > httpd: Syntax error on line 54 of
> /usr/local/apache28/conf/httpd.conf:
> > > API
> > > > > module structure 'python_module' in file
> > > > > /usr/local/apache28/modules/mod_python.so is garbled - expected
> > > signature
> > > > > 41503232 but saw 41503230 - perhaps this is not an Apache module
> DSO, or
> > > was
> > > > > compiled for a different Apache version?
> > > >
> > > > Exactly what it means.
> > > >
> > > > Did you compile mod_python yourself for that version of Apache or did
> > > > you just install a binary package from somewhere for both?
> > > >
> > > > I am assuming Apache has a concept of an internal ABI number. This is
> > > > changed whenever the ABI is changed. You may not be able to use a
> > > > precompiled module from an older version of Apache even if same
> > > > major/minor version, if this ABI has changed.
> > > >
> > > > Graham
> > > >
> > >
> > >
> >
>
>


More information about the Mod_python mailing list