[Numpy-discussion] draft release guide

David Cournapeau david@silveregg.co...
Wed Mar 24 20:00:36 CDT 2010


Francesc Alted wrote:
> A Wednesday 24 March 2010 15:38:58 David Cournapeau escrigué:
>> Oh, it is not that easy :)
>>
>> First, for some reason, the mingw-w64 project does not provide 64
>> hosted compilers, and since pushing for mingw cross compilation
>> support in distutils would redefine the meaning of insanity, I build
>> my gcc. Since building gcc on windows is not a fun ride either, you
>> have to build it on unix (I have the scripts on my github account:
>> github.com/cournape/).
> 
> Mmh, not sure about what you mean by hosted compiler

Hosted compiler refers to the platform the compiler itself runs on (so 
here I mean a native 64 bits compiler, instead of a 32 bits compiler 
which targets 64 bits). It is nice that mingw-w64 gives a 64 bits 
hosted, that's recent.

> It comes with gcc, g++ and gfortran 4.4.4.  gdb support is also there.  So it 
> seems like a pretty complete toolset for windows amd64.

The problem with gdb (but I would need to see if that's still true) is 
that it did not give useful traceback for code compiled with MS compiler 
  , the stack was always corrupted somewhere for the crashes I encountered.

> 
> With it, and with some fixes in numpy sources (very few), I achieved to pass 
> the build phase.  I can provide the patch in case someone is interested.

Building should work out of the box, actually - what are the issues ?

> 
> which looks good to my eyes.
> 
> Now, when I try to generate the installable package I'm in trouble again:
> 
> $ python setup.py bdist
> [...]
>   File "C:
> \Users\francesc\Desktop\NumPy\1.4.x\numpy\distutils\command\config.py"
> , line 56, in _check_compiler
>     self.compiler.initialize()
>   File "C:\Python26_64\lib\distutils\msvc9compiler.py", line 359, in 
> initialize
>     vc_env = query_vcvarsall(VERSION, plat_spec)
>   File "C:\Python26_64\lib\distutils\msvc9compiler.py", line 275, in 
> query_vcvar
> sall
>     raise ValueError(str(list(result.keys())))
> ValueError: [u'path']
> [...]
> 
> So, it looks like either numpy or python cannot determine that the used 
> compiler is mingw instead of msvc9.

Yes, you have to set it explicitly, this is no different than on 32 bits:

python setup.py build -c mingw32 bdist_wininst.

But the main problem is not to build numpy (the 1.3.0 64 bits msi was 
built with mingw-w64 already) - it is to find out what causes the 
various crashes people encountered. Some were due to bugs in mingw which 
have been fixed since then.

cheers,

David


More information about the NumPy-Discussion mailing list