[R-SIG-Mac] Which Fortran Compiler is usable

Simon Urbanek simon.urbanek at r-project.org
Thu Apr 29 01:41:43 CEST 2010


On Apr 28, 2010, at 5:47 PM, Yan Zhou wrote:

> Thank you for clarify all this for me. 
> 
> If I understand correctly. I can build R from scratch with any compilers support  required language features (like F95 or partial C99). And use those compilers to install packages from source. In this way I can take any advantaged may provid by those compilers or library like MKL. 
> 
> However, if I want to use the distributed binary version of R, I have to use the same compiler configuration to build package or use the binary version package distributed from CRAN.
> 
> Hope I get the right idea.
> 

Yes, exactly.

(Just FWIW regarding MKL: our binary uses vecLib/Accelerate which is quite well optimized by Apple and was the most efficient one when I tested it against MKL and others).

Cheers,
Simon


> 
> On 28 Apr 2010, at 22:39, Simon Urbanek wrote:
> 
>> 
>> On Apr 28, 2010, at 4:26 PM, Yan Zhou wrote:
>> 
>>> I have a some sort silly question. Which fortran compiler is usable with R, e.g., building package from source.
>>> 
>>> I intended to install the gfortran from CRAN. But noticed that it will install cc1 and the text in installer stated that it is not recommended to install it with Xcode later than 3.2. I have 3.2.2 installed right now.
>>> 
>> 
>> Apple has not released Xcode 3.2.2 sources yet so we cannot build the corresponding version. What you can do (if you want) is to save the cc1 from Xcode and install the Fortran anyway.
>> 
>> That said, you don't have to. You can equally well use the separate Fortran from CRAN
>> http://cran.us.r-project.org/bin/macosx/tools/
>> if you want. (It's not how we build R anymore but it also works - at least with R 2.11.0)
>> 
>> 
>>> Besides I find on the website that gfortran from HPC will not work.
>>> 
>>> So my question is that, what is the problem with the HPC version of gfortran. What is the criteria for a fortran compiler to be usable with R.
>> 
>> It must support Apple driver's driver (for things like -arch ppc -arch i386 etc.) and have the corresponding cross-compilers included so you can build universal binaries. The HPC fortran is typically a single-host same-target compiler so it won't be able to do that (and has no Apple driver). In addition HPC compilers used to be a mess - they mostly didn't work at all due to library issues and cross-OS pollution, but I didn't test them lately, so may be things have improved in the meantime.
>> 
>> 
>>> I have intel fortran compiler installed. I managed to use it to compile a usable R-devel build from source. However, successful compiling doesn't imply that the generated code has no problem.
>>> 
>> 
>> If you build R from scratch from sources, there is no issue - you can use almost anything. What we are talking about is CRAN R binary - and by definition you can only use compilers that are compatible to the compilers used to compile that binary. That's what the recommended compilers are about. If you build your own R, you can use whatever flags you wish, so you can get different compilers to work -- but you won't be able to install package binaries from CRAN (in general).
> 
>> I hope it helps.
>> 
>> Cheers,
>> Simon
>> 
> 
> 



More information about the R-SIG-Mac mailing list