Scipy on windows amd64

I spent some more time on this today, and for the first time ever, I managed to build and run the full test suite on windows 64 bits ! The code changes in scipy are small (~50 lines), for internal isnan and co functions in cephes (the windows linker is much stricter about multiple symbols with the same name).

There are still some issues, in particular depending on how I run the test suite, it crashes right away (when nose looks for tests). But when the test suite does run, it successfully pass 3000 unit tests, only fails for a couple (~20 tests), and some of them are relatively harmless. To build both numpy and scipy on windows amd64, I used the following combination:

– gcc : 4.4, snapshot 20090320

– binutils: 2.19.51

– mingw-w64: trunk@rev 692

I use the same versions for the cross compiler (linux->windows) and to build the native compiler from the cross-compiler. Two things need to be done:

– remove redundant pow function from mingwex (it is already available in the MS runtime)

– build the native compiler with -O0. Building with the usual optimization flags build a buggy native compiler (the gcc driver does not call as, resulting in a quite strange “foo.c file type not recognized”, because the driver then gives the foo.c to the linker directly instead of assembling it first).

Maybe scipy 0.7.1 + numpy 1.3.0 will be able to run on windows 64 bits :)

6 thoughts on “Scipy on windows amd64

  1. Thank you for the work on this feature, I am really looking forward to use 64 bit NumPy under Vista64.

  2. So, does this mean you feel a fully working x64 compile is close?

    I’ve been thinking long and hard about moving to windows x64. The main issue: working from home using RDP is doable, not so with X (too heavy over the network). I do simulation and need 8gb of memory -only in office computer-.

    If numpy worked, I’d be very happy.

    • It is hard to give you a precise answer. If you build numpy with MS compilers, then it works well, but because of the fortran issue, you can’t build scipy.

      Numpy built with mingw compilers works well – when it works. I still have some crashes happening, depending on how I run numpy, which I have not been able to isolate; I am not sure yet whether this is a problem with python, numpy or the compilers.

    • Those are builds which rely on the MKL (you need a MKL license for them). While a fine solution for people who can use the MKL, that cannot be the default binary for an open source project.

  3. Hi!

    do you mean that if we use those libs built by Christoph Gohlke based on the MKL, we have to buy a license? for instance, if we sell a product which uses the python API and those libs (numpy and scipy), do we require a MKL license? Or is it free for using?

    Thank you very much in advance :)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s