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

Reply via email to