
(and there was much rejoicing...) At 10:57 PM 1/3/04 -0500, Phillip J. Eby wrote:
At 05:43 PM 12/29/03 +0100, Martin v. Loewis wrote:
Sure: Please try my installer at
http://www.dcl.hpi.uni-potsdam.de/home/loewis/python2.4.0.msi
I just had a chance to try this out. One problem: pyconfig.h is missing from the installation.
I copied over my pyconfig.h from Python 2.2, and was able to compile all my target extensions using the distutils 'mingw32' compiler selection. However, they crash the interpreter immediately upon import.
But, they work now that I'm using the 2.4 pyconfig.h, copied and pasted from viewcvs. :) I didn't realize at first that it lived in 'PC' rather than 'Include' or 'PCBuild'.
It also does not include msvcr71.lib - I have no clue how you would get a copy of that. But then, somehow, msvcrt40.lib (or is it msvcrt40.a) must have gotten into mingw32 also.
I'm guessing that this is related to the coredumps. I probably need to update my cygwin installation. Note that one doesn't explicitly link the msvcrt40 with earlier Pythons, so finding out how to change it to the 71 version is going to be... interesting. Will let you know what I come up with.
As it turns out, it was unnecessary to do anything special, once I had the right pyconfig.h. I just used my normal setup.py, after upgrading to all the latest gcc/mingw/libtool/automake/etc. packages of my cygwin installation. I was able to build kjbuckets (Aaron Watters' data structure library, used by gadfly), an older version of ZODB 4's C '_persistence' support module, and the Pyrex-generated C speedups code for PyProtocols. All my tests for these and a handful of other modules passed. It looks like everything's cool for building 2.4 extensions with mingw. My only suggestion at this point would be to add 'pyconfig.h' to be installed in Python24/include. It'd be nice to throw in the libs/libpython24.a file, too, but it's big (603K) and I guess everybody who's been using mingw to this point either knows the procedure for making it by heart, or at least has a bookmark to one of the webpages that explains how to do it. (Such as http://sebsauvage.net/python/mingw.html )