[Python-Dev] Status of C compilers for Python on Windows

Case Van Horsen casevh at gmail.com
Mon Oct 27 19:47:13 CET 2014


On Mon, Oct 27, 2014 at 10:48 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> The bad news is that the support added to the old 32-bit mingw to
> support linking to alternative C runtime libraries (specifically
> -lmsvcr100) has bitrotted, and no longer functions correctly in
> mingw-w64. As a result, not only can mingw-w64 not build extensions
> that are compatible with python.org Python, it can't build extensions
> that function at all [1]. They link incompatibly to *both* msvcrt and
> msvcr100.
>
> This is a bug in mingw-w64. I have reported it to Ray, who's passed it
> onto one of the mingw-w64 developers. But as things stand, mingw
> builds will definitely produce binary extensions that aren't
> compatible with python.org Python.
>
> Paul
>
> [1] Note, that's if you just use --compiler=mingw32 as supported by
> distutils. Looking at how the numpy folks build, they seem to hack
> their own version of the distutils C compiler classes. I don't know
> whether that's just to work around this bug, or whether they do it for
> other reasons as well (but I suspect the latter).
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: https://mail.python.org/mailman/options/python-dev/casevh%40gmail.com

I've managed to build gmpy2 (which requires GMP, MPFR, and MPC
libraries) using msys2. I've detailed the steps (hacking) at:

https://code.google.com/p/gmpy/source/browse/trunk/msys2_build.txt

One of the hacks I made addresses the linking bug. The extension
does run with the both the 32-bit and 64-bit versions of CPython 2.7,
3.2, 3.3, and 3.4.

It is possible, just not easy. Anything that makes is easier would
be very helpful.

casevh


More information about the Python-Dev mailing list