[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