Jeff, can you download: http://svn.apache.org/viewvc/httpd/mod_python/trunk/dist/setup.py.in?revision=475037
and use it in place of dist/setup.py.in and use build_installer.bat to confirm that it autodetects the APR lib versions okay. Also, can you send us the mod_python.vcproj file you modified to add finfoobject.c so we can include it back in mod_python source code. Thanks. Graham Jeff Robbins wrote .. > Nicolas, > > I downloaded the stock 2.2.3 binary build. To get setup.py to link, I > had to edit this: > > if winbuild: > libraries = ['libhttpd', 'libapr-1', 'libaprutil-1', 'ws2_32'] > > (added the -1 to libapr and libaprutil) > > The resultant build produced _psp.pyd and also a mod_python_so.pyd which > I renamed mod_python.so and it ran. > > Does this sound right? > > - Jeff > ----- Original Message ----- > From: Nicolas Lehuen > To: Graham Dumpleton > Cc: [email protected] > Sent: Sunday, November 12, 2006 21:04 > Subject: Re: mod_python 3.3.0-dev-20061109 tests on Win32 > > > Indeed, the APACHESRC variable has a slightly misleading name, since > it doesn't need the full blown source installation. When building mod_python > I'm using a stock Win32 Apache 2.0 or 2.2 binary build downloaded from > http://httpd.apache.org/, not a source distribution. It may or may not > work with a source distribution, but I'm positive it does with a binary > one, so Jeff, you should definitely try it this way. > > Regards, > Nicolas > > > 2006/11/13, Graham Dumpleton <[EMAIL PROTECTED]>: > Jeff Robbins wrote .. > > 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? > > All this suggests you are setting APACHESRC to where the original source > code > for Apache resides. Can you see if there is a distinct area where the > include > files are installed into along with Apache binaries, modules, config > etc. I'm > not a Windows person, but do you have a \Apache2 directory with an > include > directory under that. If so, set APACHESRC to \Apache2. If not, then > will have > to hope Nicolas is reading email at the moment and comment and he is > the > one who normally builds the Win32 binary releases for us. > > > Where is apr.h on your machine? > > In the single include directory along with ap_*.h header files etc > where Apache > was installed into. > > Graham > > > ----- Original Message ----- > > From: "Graham Dumpleton" <[EMAIL PROTECTED]> > > To: < [email protected]> > > 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" <[email protected]> > > >> 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 > > >> > > > >> > > > >
