[Numpy-discussion] Moving to gcc 4.* for win32 installers ?

David Cournapeau cournape@gmail....
Sun Oct 30 06:18:55 CDT 2011

On Thu, Oct 27, 2011 at 5:19 PM, Ralf Gommers
<ralf.gommers@googlemail.com> wrote:
> Hi David,
> On Thu, Oct 27, 2011 at 3:02 PM, David Cournapeau <cournape@gmail.com>
> wrote:
>> Hi,
>> I was wondering if we could finally move to a more recent version of
>> compilers for official win32 installers. This would of course concern
>> the next release cycle, not the ones where beta/rc are already in
>> progress.
>> Basically, the pros:
>>  - we will have to move at some point
>>  - gcc 4.* seem less buggy, especially C++ and fortran.
>>  - no need to maintain msvcr90 vodoo
>> The cons:
>>  - it will most likely break the ABI
>>  - we need to recompile atlas (but I can take care of it)
>>  - the biggest: it is difficult to combine gfortran with visual
>> studio (more exactly you cannot link gfortran runtime to a visual
>> studio executable). The only solution I could think of would be to
>> recompile the gfortran runtime with Visual Studio, which for some
>> reason does not sound very appealing :)
> To get the datetime changes to work with MinGW, we already concluded that
> building with 4.x is more or less required (without recognizing some of the
> points you list above). Changes to mingw32ccompiler to fix compilation with
> 4.x went in in https://github.com/numpy/numpy/pull/156. It would be good if
> you could check those.

I will look into it more carefully, but overall, it seems that
building atlas 3.8.4, numpy and scipy with gcc 4.x works quite well.
The main issue is that gcc 4.* adds some dependencies on mingw dlls.
There are two options:
  - adding the dlls in the installers
  - statically linking those, which seems to be a bad idea
(generalizing the dll boundaries problem to exception and things we
would rather not care about:

> It probably makes sense make this move for numpy 1.7. If this breaks the ABI
> then it would be easiest to make numpy 1.7 the minimum required version for
> scipy 0.11.

My thinking as well.



More information about the NumPy-Discussion mailing list