First of all sorry for not intervening in the discussion earlier, I haven't had much time for mod_python development lately (hell, not much time for anything except working). The build procedure quoted by Graham at http://www.modpython.org/pipermail/mod_python/2006-September/022092.html works, but of course doesn't use the VC project files or GUI.
You should not have to worry about the location of APR or anything like that, the combination of build_installer.bat and the setup.py scripts takes care of everything.
Please tell us in what way this procedure fails on your computer. Again, using the VC GUI and project files is not supported right now.
Regards,
Nicolas
Jeff, one important thing is that VC project files are outdated and should not be used. The
2006/11/13, Jeff Robbins <
[EMAIL PROTECTED]>:
Graham,
These instructions are not sufficient. The apache environment I have on
windows has include files in <apachesr>/include but also in
<apachesrc>/srclib/apr/include, <apachesrc>/srclib/apr-iconv/include, and
<apachesrc>/srclib/apr-util/include
Setting the APACHESRC environmental per the instructions only finds the
includes in $APACHESRC/include but not the apr files like apr.h in the error
I posted. In the vcproj file, I had to tell the IDE in some dialog where to
find these include files. Is there some other environmental or is there
some copy phase in the build on Linux that gets all the include files into
$APACHESRC/include?
Where is apr.h on your machine?
Thanks,
Jeff
----- Original Message -----
From: "Graham Dumpleton" < [EMAIL PROTECTED]>
To: <python-dev@httpd.apache.org>
Sent: Sunday, November 12, 2006 20:18
Subject: Re: mod_python 3.3.0-dev-20061109 tests on Win32
> Try follow these instructions:
>
> http://www.modpython.org/pipermail/mod_python/2006-September/022092.html
>
> If these are correct, they probably should be put in the source code if
> they
> aren't already.
>
> Graham
>
> Jeff Robbins wrote ..
>> re: building on Win32
>>
>> I tried using setup.py but even once I set APACHESRC it still couldn't
>> find
>> the apr* include directories. I set ext_modules = [PSPModule] alone and
>> it
>> built _psp.pyd no problem!
>>
>>
>> C:\work\mod_python-3.3.0-dev-20061109\dist>python setup.py build
>> running build
>> running build_py
>> running build_ext
>> building 'mod_python_so' extension
>> C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe /c
>> /nologo
>> /Ox
>> /MD /W3 /GX
>> /DNDEBUG -DWIN32 -DNDEBUG -D_WINDOWS -IC:\work\mod_python-3.3.0-dev
>> -20061109\src\include -IC:\work\httpd-2.2.3\include -IC:\Python24\include
>> -IC:\P
>> ython24\PC /TcC:\work\mod_python-3.3.0-dev-20061109\src\mod_python.c
>> /FoC:\work\
>> mod_python- 3.3.0-dev-20061109\src\mod_python.obj
>> mod_python.c
>> c:\work\httpd-2.2.3\include\ap_config.h(25) : fatal error C1083: Cannot
>> open
>> inc
>> lude file: 'apr.h': No such file or directory
>> error: command '"C:\Program Files\Microsoft Visual Studio .NET
>> 2003\Vc7\bin\cl.e
>> xe"' failed with exit status 2
>>
>>
>> ----- Original Message -----
>> From: "Graham Dumpleton" <[EMAIL PROTECTED]>
>> To: "Jeff Robbins" <[EMAIL PROTECTED] >
>> Cc: "python-dev list" <python-dev@httpd.apache.org>
>> Sent: Saturday, November 11, 2006 20:18
>> Subject: Re: mod_python 3.3.0-dev-20061109 tests on Win32
>>
>>
>> >
>> > On 12/11/2006, at 12:31 AM, Jeff Robbins wrote:
>> >
>> >> 3 problems found on Win32:
>> >>
>> >>
>> >> 1) _psp didn't build and I don't know how to build it
>> >
>> > How are you trying to build mod_python in the first place? Are you
>> > using
>> > dist/build_installer.bat or using VisualStudio project file. The
>> > latter
>> > isn't
>> > really used any longer and isn't tested. We know that it doesn't list
>> the
>> > finfoobject.c file for a start.
>> >
>> >> 2) In the 'Testing PythonImport' test, the path separators in the two
>> >> paths being compared are different (no doubt due to Win32 backslash
>> vs
>> >> forward slash issues)
>> >>
>> >> the tests.py code does this:
>> >> directory = os.path.dirname(__file__)
>> >> assert( sys.path.count(directory) == 1)
>> >>
>> >> os.path.dirname(__file__) is 'C:\\work\\mod_python-3.3.0-
>> >> dev-20061109\\test\\htdocs'
>> >>
>> >> yet sys.path has this in it 'C:/work/mod_python-3.3.0-dev-20061109/
>> >> test\\\\htdocs'
>> >>
>> >> so the assert fails since the first string can't be found in sys.path
>> >> (count == 0)
>> >
>> > If in test/test.py you change:
>> >
>> > c = Container(PythonPath("[r'%s']+sys.path" % DOCUMENT_ROOT),
>> >
>> > to:
>> >
>> > c = Container(PythonPath("[r'%s']+sys.path" %
>> > os.path.normpath(DOCUMENT_ROOT)),
>> >
>> > does it pass?
>> >
>> >> 3) in test_interpreter_per_directory() the code does this:
>> >> rsp = self.vhost_get("test_interpreter_per_directory", '/
>> >> subdir/foo.py').upper()
>> >>
>> >> interpreter+'SUBDIR/' is 'C:/WORK/MOD_PYTHON- 3.3.0-DEV-20061109/
>> >> TEST/HTDOCS/SUBDIR/'
>> >> rsp is 'C:/WORK/MOD_PYTHON-3.3.0-DEV-20061109/TEST/HTDOCS/'
>> >>
>> >> I don't understand the tests.py code but it looks like in the
>> >> interpreter() code
>> >> def interpreter(req):
>> >> if req.phase == "PythonFixupHandler":
>> >> if req.filename[-1] != '/' and os.path.isdir (req.filename):
>> >> req.write(req.interpreter)
>> >> return apache.DONE
>> >> return apache.OK
>> >> else:
>> >> req.write(req.interpreter)
>> >> return apache.DONE
>> >>
>> >> perhaps the req.filename 'C:/work/mod_python-3.3.0-dev-20061109/
>> >> test/htdocs/subdir' is supposed to pass the os.path.isdir()
>> >> test...but
>> >> it doesn't. There is no 'subdir' folder under htdocs so on Win32,
>> >> os.path.isdir() returns False. Maybe this is an os dependency?
>> >
>> > The 'subdir' directory exists in the tarball. Any chance you
>> > accidentally
>> > deleted
>> > it somehow? Can you in a fresh directory unpack the tarball, verify
>> that
>> > the
>> > directory exists and then rebuild and retest?
>> >
>> > Graham
>> >
>> >
>