[mod_python] mod_python: How-to Resolve Python Version conflicts

Eeswar Kameswara Rao eeswar at pbsystems.com
Fri Apr 17 11:26:54 EDT 2009


Hello All,

I am new to this list. I am having trouble to access the archives.

Here is my problem. PLEASE HELP.

ISSUE
---------
1. After I do "make && sudo make install" I get a mod_python.so in the src and .libs directories
2. When I do a 'otool -L ./mod_python.so'  it reports
www:src Tool$ otool -L mod_python.so
mod_python.so:
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3)
        /System/Library/Frameworks/Python.framework/Versions/2.3/Python (compatibility version 2.3.0, current version 2.3.5)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

SCENARIO
---------------
1. H/W - Intel Core2Duo MacBook laptop
2. I have two versions of Python i.e. 2.3 and 2.5.1
3. Python 2.3 path is /System/Library/Frameworks/Python.framework/Versions/2.3/
4. Python2.3 executable is in /usr/local/sbin
5. Python2.5 path is /System/Library/Frameworks/Python.framework/Versions/2.5/
6. Python2.5 Executable is in /usr/bin
7. Apache version 2.0 is enabled in 32-bit mode (reconfigured the apache plist for 32-bit)
8. Ran .sudo ./configure --with-python=/usr/bin/python2.5
9. Added to Makefile with library path pointing to Python2.5 in LDFLAGS
10. Added to Makefile '-arch i386' to LDFLAGS, CFLAGS and under mod_python.so
11. After doing a "make && sudo make install" I get a mod_python.so built with Python2.3 framework (????)

I want this mod_python to be Python2.5 compliant ONLY.

So all my Python web apps crash. Error_logs report version conflicts.

Below is the listing from "make && sudo make install'

www:mod_python-3.3.1 Tool$ make && sudo make install

Compiling for DSO.

/usr/sbin/apxs -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c -Wc,"-arch i386" mod_python.c _apachemodule.c requestobject.c tableobject.c util.c serverobject.c connobject.c filterobject.c hlist.c hlistobject.c finfoobject.c -Wl,-framework,Python  -u _PyMac_Error -framework Python   -Wl,-F/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5 -arch i386   -lm  -framework  Python    -ldl
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o mod_python.lo mod_python.c && touch mod_python.slo
mod_python.c: In function 'python_init':
mod_python.c:826: warning: initialization from incompatible pointer type
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o _apachemodule.lo _apachemodule.c && touch _apachemodule.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o requestobject.lo requestobject.c && touch requestobject.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o tableobject.lo tableobject.c && touch tableobject.slo
tableobject.c:329: warning: initialization from incompatible pointer type
tableobject.c:1092: warning: initialization from incompatible pointer type
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o util.lo util.c && touch util.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o serverobject.lo serverobject.c && touch serverobject.slo
serverobject.c:387: warning: initialization from incompatible pointer type
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o connobject.lo connobject.c && touch connobject.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o filterobject.lo filterobject.c && touch filterobject.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o hlist.lo hlist.c && touch hlist.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o hlistobject.lo hlistobject.c && touch hlistobject.slo
/usr/share/apr-1/build-1/libtool --silent --mode=compile gcc    -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/usr/include/apache2  -I/usr/include/apr-1   -I/usr/include/apr-1  -arch i386 -I/Users/Tool/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5  -c -o finfoobject.lo finfoobject.c && touch finfoobject.slo
finfoobject.c:278: warning: 'intargfunc' is deprecated
finfoobject.c:278: warning: initialization from incompatible pointer type
/usr/share/apr-1/build-1/libtool --silent --mode=link gcc -o mod_python.la  -rpath /usr/libexec/apache2 -module -avoid-version    finfoobject.lo hlistobject.lo hlist.lo filterobject.lo connobject.lo serverobject.lo util.lo tableobject.lo requestobject.lo _apachemodule.lo mod_python.lo -Wl,-framework,Python -u _PyMac_Error -framework Python -Wl,-F/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5 -arch i386 -lm -framework Python -ldl
make[2]: `psp_parser.c' is up to date.
/usr/bin/python2.5 setup.py build
running build
running build_py
running build_ext

Now su and make install
  (or, if you only want to perform a partial install,
   you can use make install_dso and make install_py_lib)

Password:
make[3]: `psp_parser.c' is up to date.
/usr/bin/python2.5 setup.py build
running build
running build_py
running build_ext

Now su and make install
  (or, if you only want to perform a partial install,
   you can use make install_dso and make install_py_lib)


Performing DSO installation.

/usr/bin/install -c -d /usr/libexec/apache2
/usr/bin/install -c src/mod_python.so /usr/libexec/apache2

Now don't forget to edit your main config and add
    LoadModule python_module /usr/libexec/apache2/mod_python.so
and if your configuration uses ClearModuleList, then also
    AddModule mod_python.c

cd dist && make install_py_lib
make[3]: `psp_parser.c' is up to date.
if test -z "" ; then \
                /usr/bin/python2.5 setup.py install --optimize 2 --force ; \
        else \
                /usr/bin/python2.5 setup.py install --optimize 2 --force --root  ; \
        fi
running install
running build
running build_py
running build_ext
running install_lib
copying build/lib.macosx-10.5-i386-2.5/mod_python/__init__.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/_psp.so -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/apache.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/cache.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/cgihandler.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/Cookie.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/importer.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/psp.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/publisher.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/python22.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/Session.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/testhandler.py -> /Library/Python/2.5/site-packages/mod_python
copying build/lib.macosx-10.5-i386-2.5/mod_python/util.py -> /Library/Python/2.5/site-packages/mod_python
byte-compiling /Library/Python/2.5/site-packages/mod_python/__init__.py to __init__.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/apache.py to apache.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/cache.py to cache.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/cgihandler.py to cgihandler.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/Cookie.py to Cookie.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/importer.py to importer.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/psp.py to psp.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/publisher.py to publisher.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/python22.py to python22.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/Session.py to Session.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/testhandler.py to testhandler.pyc
byte-compiling /Library/Python/2.5/site-packages/mod_python/util.py to util.pyc
writing byte-compilation script '/tmp/tmpG6QrK-.py'
/System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python -OO /tmp/tmpG6QrK-.py
removing /tmp/tmpG6QrK-.py
running install_egg_info
Removing /Library/Python/2.5/site-packages/mod_python-3.3.1-py2.5.egg-info
Writing /Library/Python/2.5/site-packages/mod_python-3.3.1-py2.5.egg-info
www:mod_python-3.3.1 Tool$ cd src
www:src Tool$ ls
Makefile                connobject.lo           hlist.lo                mod_python.slo          serverobject.o
Makefile.in             connobject.o            hlist.o                 mod_python.so           serverobject.slo
Makefile.txt            connobject.slo          hlist.slo               mod_python.vcproj       tableobject.c
Makefile_bak            filterobject.c          hlistobject.c           psp_parser.c            tableobject.lo
Makefile_bak_16MAR      filterobject.lo         hlistobject.lo          psp_parser.l            tableobject.o
Version.rc              filterobject.o          hlistobject.o           psp_string.c            tableobject.slo
_apachemodule.c         filterobject.slo        hlistobject.slo         requestobject.c         util.c
_apachemodule.lo        finfoobject.c           include                 requestobject.lo        util.lo
_apachemodule.o         finfoobject.lo          mod_python.c            requestobject.o         util.o
_apachemodule.slo       finfoobject.o           mod_python.la           requestobject.slo       util.slo
_pspmodule.c            finfoobject.slo         mod_python.lo           serverobject.c
connobject.c            hlist.c                 mod_python.o            serverobject.lo
www:src Tool$ otool -L mod_python.so
mod_python.so:
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3)
        /System/Library/Frameworks/Python.framework/Versions/2.3/Python (compatibility version 2.3.0, current version 2.3.5)
        /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
www:src Tool$ file mod_python.so
mod_python.so: Mach-O bundle i386


PLEASE HELP.

Thanks and Regards,
Eeswar




More information about the Mod_python mailing list