Gregory (Grisha) Trubetskoy
grisha at modpython.org
Thu Mar 4 12:19:12 EST 2004
On Thu, 4 Mar 2004, David Fraser wrote: > Is there a reason there hasn't been a binary made for win32 yet? mainly because making one is a PITA... i'll get to it some time. if anyone wants to volunteer, you are more than welcome > I'll try and look at it myself now, but using VC++ 6 so may be difficult... > I am using Apache 2.0.48 win32 sources and Python 2.3.3 standard > distribution... you shouldn't need apache sources. just install the binary apache distribution, but remember to click on the "custom" install and include the header files. > Compiling Apache for windows is described here: > http://httpd.apache.org/docs-2.0/platform/win_compiling.html > That seems to work fine with VC++ 6 see above; no need to compile apache > Compiling mod_python for windows seems to require compiling in src based > on the project file for VC++7 i actually use the .net version (is that same as 7?) - sorry, it's the only thing i have access to. > I took the vc7to6_prjconverter tool from > http://www.codeproject.com/tools/prjconverter.asp and converted the file > for VC++6 > Then I had to manually change paths to point to my Apache include and > Release (lib) directories and my Python include and libs directories > (note that I didn't have to compile Python from source as the include > and libs are included with the standard distribution...) correct, no need to compile your own Python either > These originally are set as $(PYTHONSRC) and $(APACHESRC) in the include > and libs paths. yes. these are the only things you should set (in system preferences | environment) > I also had to manually add the srclib/apr/include and > srclib/apr-util/include directories from Apache to the include path, and > the srclib/apr/Release and srclib/apr-util/Release directories to the > library path. this is because you compiled your own apache > Then mod_python linked successfully! cool > > To build the win32 installer it needs to be done in the dist directory > (apparently under Unix) > I had troubles trying to run configure on MinGW as it needs an apxs to > find... > but the APXS is not actually needed for the setup script (the code that > used it is commented out) > So I ran configure on Linux, and built the installer there... > This is done by copying src/Release/mod_python.so to the dist directory. not anymore, it now can be done under windows. In fact it *has* to because this step also compiles _psp. you DO need to manually create a setup.py from setup.py.in since ./configure, as you noted, won't work on windows > In fact I found that by simply copying the setup.py generated on Linux I > could run this on Windows > The instruction is: > setup.py bdist_wininst --install-script=win32_postinstall.py perhaps distutils take care of it automtically, but I've always done it separately, building the mod_python package for the standard lib, which would be a step just before the bdist_wininst. I had to copy src and mod_python (in lib/python) to under dist (on unix the makefiles creates symlinks, but they don't work under windows, so you have to copy), then run (This has to be run from the VC++ msdos shell, since it will invoke the compiler to build _psp.so (or _psp.dll, don't remember)) python setup.py build > > I hope the above instructions are useful to anyone else trying the same > thing. me too. And if someone would care to clean up the Windows build process and make it seamless enough and contribute it as a patch, we would all very much appreciate it. I personally dislike Windows so much, I don't know that will ever bring myself to doing this - just building the Windows installer is already such a horrifying experience that I usually don't touch Windows for months thereafeter ;-) > I have not yet fully tested this binary or installer but it seemed to > run our applications fine. > mod_python.so and mod_python-3.1.3.win32.exe can be downloaded from: > http://davidf.sjsoft.com/files/mod_python.so > http://davidf.sjsoft.com/files/mod_python-3.1.3.win32.exe See if you can run the tests. You will have to manually rig a testconf.py (NOTE - it will not like blanks in path names, e.g. "Program Files", the only work around I found was using the DOS path name, which you can determine by firing up command.exe (as opposed to cmd.exe) i believe). But once you get past the testconf.py, usually all tests run OK. > > I would appreciate feedback (on this list) so that hopefully these can > be included in the official release ... Thanks for trying! Grisha > > David > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|