[SciPy-dev] Setup doesn't pickup Intel Fortran compiler

David Cournapeau david at ar.media.kyoto-u.ac.jp
Fri May 29 05:45:31 EDT 2009


Matthieu Brucher wrote:
> 2009/5/29 Matthieu Brucher <matthieu.brucher at gmail.com>:
>   
>> 2009/5/29 David Cournapeau <david at ar.media.kyoto-u.ac.jp>:
>>     
>>> David Cournapeau wrote:
>>>       
>>>> Yes, intelem is for ia architectures IIRC
>>>>
>>>> I have just tried compiling numpy with both icc/ifort (11.0), it works
>>>> without trouble with numscons:
>>>>
>>>> CFLAGS="-debug" FFLAGS="-debug" CC=icc F77=ifort python setupscons.py scons
>>>>
>>>> I used the -debug flag to avoid waiting forever - the whole numpy test
>>>> suite passes.
>>>>
>>>>         
>>> Just after sending the email, I saw your bug-report :)
>>>
>>> You may want to try the last numscons code:
>>>
>>> http://github.com/cournape/numscons/tree/master
>>>
>>> cheers,
>>>       
>> Thanks, I'll try this at once ;)
>> I didn't remember you switched to github :|
>>
>> Matthieu
>>     
>
> Now, I don't have an error, but the folders are still empty:
>   

Which version of numpy are you using ? Are you building from a svn
version or a source tarball ? The missing SConscript warning is strange
(it should not be a warning - missing scons files is pretty fatal :) ).

> gfortran is still detected in the wrong folder: f77_opt=gfortran
> f77_opt_path="/appli/intel/10.1.018/intel64/fce/bin"
> I deleted the numpy folder completely and started again from scratch,
> but I keep getting the same errors :|
> I deleted the environment variables, and the fortran compilers seem
> OK. If I export F77=ifort, it gives me something even stranger:
> f77_opt=fortran f77_opt_path="/appli/intel/10.1.018/intel64/fce/bin"
>   

Hm, the problem is that the scons command in numpy.distutils was
designed to make sure the same compiler was used as distutils. But here,
we would like to bypass distutils completely... I could add an option to
the scons command to tell numscons to ignore compilers given by
distutils - or maybe just bypassing it altogether. When I started
numscons, I tried to be as compatible as possible with distutils, but
that's a lost battle. Just using a default compiler, and customization
from CC would be better and easier to set up...

The code to detect fortran compiler in distutils is in
numpy/distutils/fcompiler/__init__.py (line 688 in last revision). As a
temporary workaround, you could remove every compiler of the list except
intel. The problem is that some compilers depend on other compilers, and
I have never really taken the time to understand how this was supposed
to work.

cheers,

David



More information about the SciPy-Dev mailing list