quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Robbins" <je...@livedata.com>
Subject Re: mod_python 3.3.0-dev-20061109 tests on Win32
Date Mon, 13 Nov 2006 02:56:56 GMT
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