On 07/02/2017 09:02, 美彦 馬場 wrote:
Hi,
On Feb 7, 2017, at 17:46, Gábor Csárdi <csardi.ga...@gmail.com> wrote:
Hi all,
I realize that this is not the typical use case on macOS, but for my work,
it would be great to be able to install R into ~/Library/Frameworks.
This would allow having different R versions for different users.
I am not sure how difficult this would be to implement. I can see that some
paths in scripts and makefiles are hardwired to /Library/Frameworks. Is
there anything more, perhaps in the binaries as well?
I install R with Fink, which allows you to install R-3.3, R-3.2 and R-3.1.
Each of them looks for files in
/sw/Library/Frameworks/R.framework/Versions/3.3, 3.2 and 3.1 respectively.
Also, CRAN packages for different R versions are installed separately.
Well, you have missed the point. R itself allows you to do that: do
read 'R Installation and Administration'.
The reason to install R as a framework is to use R.app (and it is no
longer the default for a source build). And it is R.app which is tied
to /Library/Frameworks/R.framework (and the 'Current' version). Even
though there is a Rswitch utility to switch the version R.app invokes,
it is unreliable as R.app is built against a particular R version and
may well crash if used with another. R.app is not itself versioned, and
there is no way to install it telling it to link to a particular version
of the R framework.
For use as 'R' from a terminal, multiple CRAN distributions (of 3.x.y
for different 'x') can easily be installed and used together: that is
§4.3 of the manual.
Quite a lot of trouble has been taken to avoid the 'R' front-end script
on macOS, and that does involve hard-coding the installation path in
many places in the binary distribution. For example
otool -L
/Library/Frameworks/R.framework/Resources/library/Matrix/libs/Matrix.so
/Library/Frameworks/R.framework/Resources/library/Matrix/libs/Matrix.so:
Matrix.so (compatibility version 0.0.0, current version 0.0.0)
/Library/Frameworks/R.framework/Versions/3.3/Resources/lib/libRlapack.dylib
(compatibility version 3.3.0, current version 3.3.2)
/Library/Frameworks/R.framework/Versions/3.3/Resources/lib/libRblas.dylib
(compatibility version 0.0.0, current version 0.0.0)
/Library/Frameworks/R.framework/Versions/3.3/Resources/lib/libgfortran.3.dylib
(compatibility version 4.0.0, current version 4.0.0)
/Library/Frameworks/R.framework/Versions/3.3/Resources/lib/libquadmath.0.dylib
(compatibility version 1.0.0, current version 1.0.0)
I do not recall how much of this is done by the R scripts for installing
to a framework and how much by the scripts used to build the installer
(although AFAIR libgfortran.3.dylib is part of the latter).
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Emeritus Professor of Applied Statistics, University of Oxford
_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-mac