[Distutils] How to easy_install from source package with mingw32 on Windows?

Robert Kern robert.kern at gmail.com
Fri Sep 14 01:44:17 CEST 2007


zooko wrote:
> (quoting out-of-order)
> 
> On Sep 12, 2007, at 7:54 PM, Robert Kern wrote:
>> Use a section in your pydistutils.cfg file like this:
>>
>> [build_ext]
>> compiler=mingw32
> 
> Thank you very much!
> 
>> You can configure it to do so already. Making distutils  
>> automatically figure out
>> that this is desired and safe is probably more magic than it's worth.
> 
> So why isn't the Free Software compiler the default when no compiler  
> is specified?  It works fine. 

Not always. mingw32 is still based on msvcrt6. You can make it link against
msvcr7 to match the runtime of Python, but many of the implementations of the
standard C headers are still intended for msvcrt6. C++ extensions using
std::iostreams are vulnerable to segfaults if you reconfigure mingw32's specs
file to only use msvcr7. Other extensions that pass FILE* pointers between them
and Python will segfault if you don't reconfigure mingw32. There is no
configuration of mingw32 that works for all extensions.

The default is the default because it's the only one that's known to be safe.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco



More information about the Distutils-SIG mailing list