|
polygnwnd
polygnwnd at yahoo.com
Tue Jul 24 20:20:06 EST 2001
Well, I am interested in mod_python, but am having a
hard time getting it to work. I notice
that my specific problem has come up on both Windows
and Linux and I cannot find a working
solution in the mail archives (maybe I overlooked
something?).
What I "know"...
Platform: Linux 2.4 kernel, atop old, but vanilla
Debian
All packages used here are installed below
/home/polygnwnd/httpd:
Python: python/2.0.1/(bin, lib, etc.)
Apache: apache/1.3.20/(bin,libexec, etc.)
Configured options:
Python: --without-threads
Apache: --enable-module=rewrite
--enable-shared=rewrite
mod_python:
--with-apxs=/home/polygnwnd/httpd/apache/1.3.20/bin/apxs
\
--with-python=/home/polygnwnd/src/httpd/python/2.0.1
# I pointed with-python to the python
src build dir, makes configure happy
An strace on the httpd process reveals many
unsuccessful attempts to access
the system python library. The result:
stat("/usr/lib/python2.0/mod_python", 0xbfffeaec) =
-1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/mod_python.so", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/mod_pythonmodule.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/mod_python.py", O_RDONLY) =
-1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/mod_python.pyc", O_RDONLY)
= -1 ENOENT (No such file or directory)
stat("/usr/lib/python2.0/plat-linux2/mod_python",
0xbfffeaec) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/plat-linux2/mod_python.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/plat-linux2/mod_pythonmodule.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/plat-linux2/mod_python.py",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/plat-linux2/mod_python.pyc",
O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/usr/lib/python2.0/lib-tk/mod_python",
0xbfffeaec) = -1 ENOENT (No such file or directory)
stat("/usr/lib/python2.0/site-packages/mod_python",
0xbfffeaec) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/site-packages/mod_python.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/site-packages/mod_pythonmodule.so",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/site-packages/mod_python.py",
O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/python2.0/site-packages/mod_python.pyc",
O_RDONLY) = -1 ENOENT (Nosuch file or directory)
write(2, "make_obcallback(): could not imp"..., 55)
= 55
write(2, "make_obcallback(): could not cal"..., 40)
= 40
time(NULL) = 996027790
write(15, "[Wed Jul 25 03:23:10 2001] [erro"...,
115) = 115
alarm(300) = 0
alarm(0) = 300
alarm(300) = 0
alarm(0) = 300
alarm(300) = 0
alarm(0) = 300
write(4, "HTTP/1.1 500 Internal Server Err"..., 843)
= 843
This is odd because my system python version is 1.5
and I have a special version in a private
directory which I specified (as above) at compile
time.
grepping apache (incl. mod_python.so) and python
binaries for "/usr/lib" did not reveal anything of
immediate
interest. Recompiling with python 2.1 renders
essentially the same result (substitude "2.1" for
"2.0" in the
trace output).
The problem is obviously something like the PYTHONPATH
not being set properly.
-Setting the PythonPath (as was suggested in a prior
exchange) seems ineffective-- strace behaviour was not
changed (in fact specifying an arbitrary string set
for the PythonPath directive did not appear in trace
output).
-setting the PYTHONPATH variable in the shell before
starting httpd had no effect
-using the specially compiled python shell to try
"from mod_python import apache" failed when it could
not find the "_apache" module, leading me to
believe it did find the mod_python module. I did this
experiment using the same permissions as httpd, and
have tried experimentally running httpd with my own
permissions without success.
The mod_python.so file is 2.7MB with python 2.0 and
1.5MB with 2.1, leading me to believe it is being
linked
properly-- I have scrutinized the build process for
errors and not seen anything interesting. Thus I find
myself
among the ranks of unhappy people looking at:
[Wed Jul 25 04:03:20 2001] [info] Server built: Jul
25 2001 00:55:54
make_obcallback(): could not import
mod_python.apache.
make_obcallback(): could not call init.
[Wed Jul 25 04:03:22 2001] [error] [client
192.168.0.0.2] python_handler: make_ob
callback returned no obCallBack!
I look forward to being able to move out of
AOLserver-land (filters and threading are coming to
Apache. yay).
Any clues?
cheers,
jamie
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
|