[R-SIG-Mac] Can't get help.start() to work.

Steve Lianoglou mailinglist.honeypot at gmail.com
Fri Oct 30 15:14:28 CET 2009


On Oct 29, 2009, at 7:08 PM, Rolf Turner wrote:

> On 30/10/2009, at 11:45 AM, Simon Urbanek wrote:
>> Yes - at least when you don't tend to it properly. If you use a  
>> global
>> library, you must make sure you delete it whenever you upgrade R,
>> otherwise you'll end up with incompatible packages. (There are less
>> radical approaches, but they require even more care on user's side to
>> work). That's why we recommend versioned libraries.
> Are you saying that every time I upgrade R I should completely
> remove my private library of packages (``Rlib'') and then recreate
> Rlib and re-install everything that was in it?  I guess I can automate
> this so that it's not too hard to do ....
> But is this the ``usual'' procedure?  Does everybody but me do  
> this? :-)

Impossible to answer, but likely not everybody, though they should :-)

> Also, I have recently checked on freshly downloaded packages from CRAN
> and got warning messages about their having been built with older
> versions of R.  So re-installing would seem not to completely solve
> the problem of incompatibility.

... not sure what to say about that, but it seems weird if that's  
really happening on freshly installed packages (ie. not picking up an  
older version of your libs somehow).

> What are ``versioned libraries''?  Where can I read up on this
> concept? RSiteSearch("versioned libraries") turned up nothing useful.

More info than you want/need to know (or may already know, but anyway):

The "Framework" way that R is installed under OS X is "an easy" way to  
keep these "versioned libraries." You see how R installs in:


There is no "global R library", by default, but rather a "global  
library" for a particular *version* of R:


Then you get the fancy linking from /Library/Frameworks/R/Resources ->  
Versions/2.X/Resources and what not so the running version of R thinks  
there is some global repo.

Answering what you really asked more directly: I suspect Simon's  
recommendation for "versioned libraries" would be for you to do  
something along the same lines the system uses.

For instance, if you want to install into ~/Rlib, perhaps you should  
rather have:


with each having their own (appropriate) versions of the libraries  
that you use. Which is to say, to have "versioned libraries." :-)

If you decide to go that route, perhaps you can then have in your  
~/.Rprofile some mechanism to pick which of these directories to add  
to your libPaths by checking R's major/minor version. There's probably  
a more clever way, but this way could work:

r.version <- paste(version['major'], as.integer(version['minor']),  
Sys.setenv(R_LIBS=paste("/Users/rturner/Rlib/", r.version, sep="")

Hope that's helpful,

Steve Lianoglou
Graduate Student: Computational Systems Biology
   |  Memorial Sloan-Kettering Cancer Center
   |  Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact

More information about the R-SIG-Mac mailing list