[Distutils] Python 2.3/mingw32
Jeremy Hylton
jeremy at alum.mit.edu
Thu Jul 31 16:44:44 EDT 2003
> What is this, and how can I get rid of it?
>
> cory at cory2k ~/cvs/Twisted
> $ python setup.py build -c mingw32
> running build
> running build_py
> running build_ext
> error: Python was built with version 6 of Visual Studio, and extensions
> need to
> be built with the same version of the compiler, but it isn't installed.
>
> I had no problems building these extensions on Python 2.2 following the
> instructions at http://sebsauvage.net/python/mingw.html . I did the
> same thing substituting 2.3 for 2.2, and got the message above.
>
> Why doesn't it work any more? --compiler=mingw32 is still valid on the
> command line.
We added an extra sanity check that was intended to guard against someone
using a Python built with MSVC 6, say, and a DLL built with MSVC 7. The
sanity check is that distutils finds out what compiler was used to build
Python, and won't compile extensions with anything else. (I think I added
this code.)
When I was working on this, I was not even aware of the --compiler option.
I don't know how dangerous it is to use DLLs from one compiler with a Python
from a different compiler. I believe David Abrahams was involved in those
discussions, and I've seen him here; perhaps he can offer an explanation.
Assuming it is safe to change compilers, it sounds like we need a patch to
get 2.3 distutils working with custom compilers. I've never used a compiler
other than MSVC on Windows, so I can't be of much help. I can merely
confirm it doesn't break things for MSVC.
Jeremy
More information about the Distutils-SIG
mailing list