Dear Prof. Ripley et al.:
On 7/8/23 1:16 AM, Prof Brian Ripley wrote:
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
<rip...@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.
For now, I've added a file "~/.r/Makevars" containing this single
line and deleted the corresponding reference from "/etc/paths". I
rebooted and confirmed that it works. Thanks very much. Spencer Graves
_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac