quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Dumpleton" <grah...@dscpl.com.au>
Subject Re: mod_python 3.3.0-dev-20061109 tests on Win32
Date Tue, 14 Nov 2006 23:03:14 GMT
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: python-dev@httpd.apache.org 
>   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 <grahamd@dscpl.com.au>:
>     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" <grahamd@dscpl.com.au>
>     > 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" <grahamd@dscpl.com.au>
>     > >> To: "Jeff Robbins" < jeffr@livedata.com>
>     > >> 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
>     > >> >
>     > >> >
>     > >

Mime
View raw message