Quantcast

Compiling Python (modules) on 64bit Windows - which compiler suite?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Compiling Python (modules) on 64bit Windows - which compiler suite?

Ralph Heinkel-2
Hi,

when processing our mass spectrometry data we are running against the
2GB memory limit on our 32 bit machines. So we are planning to move to
64bit. Downloading and installing the 64bit version of Python for
Windows is trivial, but how do we compile our own C extension? Visual C
++ 2008 express comes for free, but only compiles for 32 bit.

What has been used to compile the downloadable Python Win64 bit
version? Visual Studio professional?
The problem with the professional edition is that it is hard to obtain
and it is sort of out-of-date - nowadays everyone uses Visual Studio
2010 (or even 2011 coming soon). So if Visual Studio 2008 professional
is required for compiling 64bit modules, we would have to spend $1200
for a license which is actually rather out of date.

Any hints or suggestions are very welcome.

Thanks,

Ralph
--
http://mail.python.org/mailman/listinfo/python-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling Python (modules) on 64bit Windows - which compiler suite?

Terry Reedy
On 3/21/2012 11:06 AM, Ralph Heinkel wrote:
> when processing our mass spectrometry data we are running against the
> 2GB memory limit on our 32 bit machines. So we are planning to move to
> 64bit. Downloading and installing the 64bit version of Python for
> Windows is trivial, but how do we compile our own C extension? Visual C
> ++ 2008 express comes for free, but only compiles for 32 bit.
>
> What has been used to compile the downloadable Python Win64 bit
> version? Visual Studio professional?

Yes. Python Windows devs get it for free from MS.

> The problem with the professional edition is that it is hard to obtain
> and it is sort of out-of-date - nowadays everyone uses Visual Studio
> 2010 (or even 2011 coming soon). So if Visual Studio 2008 professional
> is required for compiling 64bit modules, we would have to spend $1200
> for a license which is actually rather out of date.
>
> Any hints or suggestions are very welcome.

I believe the intention is to release 3.3 compiled with VS 2010. Brian
Curtin and Martin Loewis are working on that. I believe people have
successfully built at least the basics with VS2010.

You could also dual boot to Linux and get 64 bit gcc for free.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling Python (modules) on 64bit Windows - which compiler suite?

Thomas Bach-2
In reply to this post by Ralph Heinkel-2
Hi,

Ralph Heinkel <[hidden email]> writes:

> Hi,
>
> when processing our mass spectrometry data we are running against the
> 2GB memory limit on our 32 bit machines. So we are planning to move to
> 64bit. Downloading and installing the 64bit version of Python for
> Windows is trivial, but how do we compile our own C extension?

What about installing Cygwin and using the shipped GCC?

Regards,
        Thomas Bach.
--
http://mail.python.org/mailman/listinfo/python-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling Python (modules) on 64bit Windows - which compiler suite?

cjgohlke
In reply to this post by Ralph Heinkel-2
On Wednesday, March 21, 2012 8:06:47 AM UTC-7, Ralph Heinkel wrote:

> Hi,
>
> when processing our mass spectrometry data we are running against the
> 2GB memory limit on our 32 bit machines. So we are planning to move to
> 64bit. Downloading and installing the 64bit version of Python for
> Windows is trivial, but how do we compile our own C extension? Visual C
> ++ 2008 express comes for free, but only compiles for 32 bit.
>
> What has been used to compile the downloadable Python Win64 bit
> version? Visual Studio professional?
> The problem with the professional edition is that it is hard to obtain
> and it is sort of out-of-date - nowadays everyone uses Visual Studio
> 2010 (or even 2011 coming soon). So if Visual Studio 2008 professional
> is required for compiling 64bit modules, we would have to spend $1200
> for a license which is actually rather out of date.
>
> Any hints or suggestions are very welcome.
>
> Thanks,
>
> Ralph

See "Compiling 64-bit extension modules on Windows" at <http://wiki.cython.org/64BitCythonExtensionsOnWindows>. It applies to non-Cython extensions as well.

MinGW-w64 also works, but you'll have to generate and use libpythonXX.a and libmsvcr90.a link libraries.

Christoph
--
http://mail.python.org/mailman/listinfo/python-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling Python (modules) on 64bit Windows - which compiler suite?

Stefan Behnel-3
In reply to this post by Thomas Bach-2
Thomas Bach, 21.03.2012 20:03:
> Ralph Heinkel writes:
>> when processing our mass spectrometry data we are running against the
>> 2GB memory limit on our 32 bit machines. So we are planning to move to
>> 64bit. Downloading and installing the 64bit version of Python for
>> Windows is trivial, but how do we compile our own C extension?
>
> What about installing Cygwin and using the shipped GCC?

I'm pretty sure it doesn't cross compile to native Windows. It certainly
won't build against a native Windows Python installation, and given the
overhead that cygwin induces into a lot of common OS operations (such as
fork(), I/O operations or file system access), a native Windows Python
installation has serious advantages in most cases.

If the choice is GCC, then MinGW is the right tool.

Stefan

--
http://mail.python.org/mailman/listinfo/python-list
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compiling Python (modules) on 64bit Windows - which compiler suite?

Ralph Heinkel-2
In reply to this post by cjgohlke
>
> See "Compiling 64-bit extension modules on Windows" at <http://wiki.cython.org/64BitCythonExtensionsOnWindows>. It applies to non-Cython extensions as well.
>
> MinGW-w64 also works, but you'll have to generate and use libpythonXX.a and libmsvcr90.a link libraries.
>
> Christoph

Thanks to everyone who has replied to my question.
Especially for the link/hint to use the .NET SDK which indeed seems to provide the right tools for 64bit compilation.
I'm going to try this and report back here.

Cheers,

Ralph
--
http://mail.python.org/mailman/listinfo/python-list
Loading...