Skip to content
Prev 11962 / 15075 Next

Feature request: install R in ~/Library/Frameworks

On 07/02/2017 09:02, ?? ?? wrote:
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).