New submission from Václav Šmilauer:

Compiling an extension with --compiler=mingw32 with official python 2.7.3 
distribution on Windows (64bit) leads to unusable result - crash on module load 
("invalid access to memory").

The reasons is that Lib/distutils/cygwincompiler.py#l62 links the resulting 
.pyd file against msvcr90.dll (version is determined by version of MSVC used to 
build python itself), while python27.dll is linked against msvcrt.dll (shows 
the Dependency Walker). 

Based on my own experience (above) and MSDN docs 
http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx,  
http://msdn.microsoft.com/en-us/library/ms235460.aspx), loading 2 different 
runtimes is asking for trouble.

I raised this topic on distutils-sig, hoping for an explanation. Judging by the 
reaction, it is quite possibly historical relict which is no longer needed. 
This is also hinted at by comments at the beginning of 
Lib/distutils/cygwincompiler.py

   "if you use a msvc compiled python version (1.5.2)"
   "mingw gcc 3.2/ld 2.13 works"

I am aware of distutils being frozen for new features (unless you want to call 
bugfix a new feature).

----------
assignee: eric.araujo
components: Distutils
messages: 175569
nosy: eric.araujo, eudoxos, tarek
priority: normal
severity: normal
status: open
title: Distutils+mingw links agains msvcr90, while python27.dll is linked 
agains msvcrt
versions: Python 2.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16472>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to