|
Simon Kesenci
god at skri.org
Sun Nov 25 15:32:33 EST 2007
I recently upgraded my PowerBook (PPC) to Leopard. Piece by piece I
started reassembling my web server test bed (httpd 2.2.6, Python
2.5.1, mod_python 3.3.1), which worked perfectly on Tiger. I built
everything from their sources.
This time around I got everything to work except for mod_python. My
procedure had the following non-standard edits:
httpd 2.2.6:
Changed APR_HAS_SENDFILE to 0 in srclib/apr/include/apr.h
After installation I backed up /usr/sbin/httpd and entered
ln -s /usr/local/apache2/bin/httpd /usr/sbin/httpd.
(This allows you to activate the compiled httpd from the Sharing
Preferences, which will also have the built-in firewall open and close
port 80 in sync with the server.)
Python 2.5.1:
After ./configure --enable-framework I added -DSETPGRP_HAVE_ARG
to the top-level Makefile (make exits with an error otherwise due to a
lack of arguments to setpgrp()).
Both of the above work as expected, but when I threw mod_python into
the mix I kept getting the following error:
[Sun Nov 25 09:43:22 2007] [error] make_obcallback: could not import
mod_python.apache.\n
ImportError: No module named mod_python.apache
[Sun Nov 25 09:43:22 2007] [error] make_obcallback: Python path being
used "['/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/
python2.5/plat-darwin', '/usr/lib/python2.5/plat-mac', '/usr/lib/
python2.5/plat-mac/lib-scriptpackages', '/usr/lib/python2.5/lib-tk', '/
usr/lib/python2.5/lib-dynload', '/Library/Python/2.5/site-packages']".
[Sun Nov 25 09:43:22 2007] [error] get_interpreter: no interpreter
callback found.
[Sun Nov 25 09:43:22 2007] [error] [client 10.0.1.2] python_handler:
Can't get/create interpreter., referer: http://10.0.1.2/~simon/test/
I used a number of scripts to test the installation, including
mptest.py from the mod_python doc. The last script I used to test did
not import mod_python.apache explicitly:
from mod_python import util
def index(req):
util.redirect(req, 'www.example.com')
While installing mod_python the output made clear that it took up the
interpreter in /usr/local/bin rather than the one provided by Apple
in /usr/bin and installed under /Library/Frameworks/Python.framework/
Versions/2.5/lib/python2.5/site-packages/ rather than /Library/Python/
2.5/site-packages.
I don't know from where it pulled that path. The interpreter I
compiled uses the path:
['', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/
2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/
Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/
Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/
Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-
dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/site-packages']
The interpreter provided by Apple uses:
['', '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python25.zip', '/System/Library/Frameworks/Python.framework/Versions/
2.5/lib/python2.5', '/System/Library/Frameworks/Python.framework/
Versions/2.5/lib/python2.5/plat-darwin', '/System/Library/Frameworks/
Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/System/
Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-
mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/
Versions/2.5/Extras/lib/python', '/System/Library/Frameworks/
Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/System/Library/
Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/
Library/Python/2.5/site-packages', '/System/Library/Frameworks/
Python.framework/Versions/2.5/Extras/lib/python/PyObjC']
This morning I logged on to my Linux web server and installed all
these packages from source without any problems.
--S.
|