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

Matthieu Brucher matthieu.brucher at gmail.com
Fri May 29 06:17:18 EDT 2009


>> 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 :) ).

The numpy 1.3.0 tarball from the sf webpage.
Missing SConscript is something I use regularly, it isn't a problem.
The really strange thing is that the folders are empty :|

>> 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.

It seems indeed that the Fortran detection is tricky ;)

I've deleted some compilers in 'linux', and I had to add intel in
'posix'. I had to use intelem for 'linux' as I use a 64bits processor,
which is thus the EM64T compiler. For 'posix', it works as long as I
do not export LD_PRELOAD with something ld doesn't like.
So know, it works, safe for the fact that f77_opt is fortran and not ifort.

Matthieu, one step closer to using the correct Fortran compiler...
-- 
Information System Engineer, Ph.D.
Website: http://matthieu-brucher.developpez.com/
Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn: http://www.linkedin.com/in/matthieubrucher



More information about the SciPy-Dev mailing list