[R-SIG-Mac] gfortran: command not found

Prof Brian Ripley r|p|ey @end|ng |rom @t@t@@ox@@c@uk
Sat Jul 8 08:16:19 CEST 2023


On 08/07/2023 00:41, Spencer Graves wrote:
> Hello, Simon Urbanek and Professor Ripley:
> 
> 
> On 7/7/23 4:21 AM, Simon Urbanek wrote:
>>
>>
>>> On Jul 7, 2023, at 6:54 PM, Prof Brian Ripley <ripley using stats.ox.ac.uk> 
>>> wrote:
>>>
>>> An alternative is not to have gfortran on the path and use a personal 
>>> Makevars file, as documented at 
>>> https://cran.r-project.org/doc/manuals/r-devel/R-admin.html#macOS-packages .
>>>
>>> Reasons to do it that way include
>>>
>>> a) GCC builds have included other compilers including gcc in the same 
>>> directory as gfortran, and I have been caught in the past by 
>>> badly-written software looking for gcc as a C compiler and finding 
>>> that one rather than Apple's gcc which is a wrapper for clang.  (The 
>>> current gfortran distribution only includes 
>>> x86_64-apple-darwin20.0-gcc and similar.)
>>>
>>> b) If the gfortran you have installed differs from that used to build 
>>> R, you may need to set FLIBS, and this has happened as different CRAN 
>>> distributions have been built with different versions of gfortran.
>>>
>>> When I do want gfortran on the path, for example to build other 
>>> software, I do symlink it to somewhere on my path.
>>>
>>> I would prefer if Simon continues to give the full path as FC in 
>>> etc/Makeconf: anyone who wants a different compiler can use a 
>>> personal Makevars.  (Continues at least for arm64, and I would prefer 
>>> consistency.)
>>>
>>
>>
>> I agree - it wasn't entirely intentional (it's really historical), but 
>> then there was request for a PATH-less gfortran settings. After this 
>> discussion I agree that it's not a good idea since the instructions on 
>> CRAN should be fully self-sufficient *and* we want to avoid other 
>> incompatible Fortran compilers. (I have trouble reaching the x86_64 
>> build machine from home right now, so I'll change it on Monday).
> 
> 
>        Might it be feasible and appropriate for me to try to do this on 
> my 2014 MacBook Pro running macOS 11.7.8?
> 
> 
>        I ask, because I have so far not been able to parse the 
> instructions in the link Prof. Ripley provided above.  I found a ".r" 
> subdirectory in my default directory, but its contents seems to be only 
> "crashpad_database".  I did not see anything that looked to me like, 
> "HOME/.R/Makevars-R_PLATFORM".  ???

You need to create the file (which is called ~/.R/Makevars in the 
section I referred you to).   Using a case-insenstive file system does 
not help (I had no idea what created ~/.r/crashpad_database, but 
Googling suggests RStudio).

(If you did not have ~/.r, you would need mkdir ~/.R in a Terminal.)
Then use your favourite editor to create a file ~/.r/Makevars containing 
the single line

FC=/opt/gfortran/bin/gfortran


The only issue is if you ever install a new gfortran you will need to 
edit/remove this file -- it is easily forgotten.  As Simon says he is 
changing this soon, I would make a note to remove the file when you 
update R.

-- 
Brian D. Ripley,                  ripley using stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford



More information about the R-SIG-Mac mailing list