[BioC] can't instal MetaData package "mouse4302"

Gordon Smyth smyth at wehi.edu.au
Sat Mar 5 10:46:48 CET 2005

I guess that things have changed since the MetaData packages were re-built 
earlier today, but the mouse4302 problem hasn't been solved, so I provide 
more info below as requested.

>Date: Thu, 3 Mar 2005 07:28:09 -0800
>From: Seth Falcon <sfalcon at fhcrc.org>
>Subject: Re: [BioC] can't instal MetaData package "mouse4302"
>To: BioC Mailing List <bioconductor at stat.math.ethz.ch>
>Hi Gordon,
>We've discovered a wide-spread issue with how the Windows metaData
>packages were built that makes the data very difficult to access.
>We are working on a fix and should have corrected packages posted soon.
>The Source packages, for Linux, are still available.  From the
>transcript you sent, it would be helpful to know the value of the
>environment variable R_LIBS as well as the library package path, which
>you can get like this from inside R:
>path = .libPaths()

I'm using a plain vanilla R 2.0.0 for unix system, installed by our IT 
staff just after the last release of Bioconductor on a multi-user linux 
system with default everything. The default library tree is

 > .libPaths()
[1] "/usr/local/lib/R/library"

All environment variables are at default settings, meaning that R_LIBS is 
not set:

 > system("echo $R_RLIBS")

>This function returns invisibly, so you have to capture its return
>value in a variable in order to see it.

I didn't find this necessary -- .libPaths() has an invisible name, but the 
value it returns is just a character value, not wrapped in a call to 

>On Mar 3, 2005, at 1:58 AM, Gordon Smyth wrote:
> > > library(reposTools)
> > Loading required package: tools
> > Warning messages:
> > 1: Incorrect permissions to edit package database,
> > /usr/local/lib/R/library/liblisting.Rda in: save.locLib(locLibList,
> > curLib)
> > 2: Incorrect permissions to edit package database,
> > /usr/local/lib/R/library/liblisting.Rda in: save.locLib(locLibList,
> > curLib)
>The above message indicates a permission problem with where you are
>installing your packages to.

This is such a familiar warning message, and the reasons for it are well 
known, so I didn't comment on it in my original post. In my opinion, the 
problem is not with the permissions on our system, which are perfectly 
standard, but rather with the insistance by reposTools in trying to write 
to a directory which it really has no right to expect to be able to write 
to. I doubt that there are many unix systems administrators around the 
world concerned with security and system stability who would want all the 
users on a multiuser system having write privileges to system directories 
like /usr/lib and /usr/local/lib.

Note also that there is actually no permission problem. I don't have write 
privileges to /usr/local/lib, but I am also not trying to install any 
packages there. The whole point of the 'lib' argument in my call to 
install.packages2() was to re-direct installation to another library tree 
where I do have write privileges.

Finally, note that there is actually no reason for reposTools to be writing 
to disk at all. There is an existing and up-to-date file 
/usr/local/lib/R/library/liblisting.Rda already, created when the IT staff 
ran getBioC() back in October. There is no reason to re-write this file 
every time any user loads up reposTools, especially as no request has been 
made by the user to install packages to this directory. It would be much 
better if reposTools wrote to disk only when necessary, and in those cases 
wrote to the library tree when installation was actually to take place.

> > [1] "Attempting to download mouse4302 from
> > http://www.bioconductor.org/data/metaData/"
> > [1] "Download complete."
> > [1] "Installing mouse4302"
> > * Installing *source* package 'mouse4302' ...
> > ** R
> > ** data
> > ** preparing package for lazy loading
> > Error in .find.package("mouse4302") : none of the packages were found
> > Execution halted
> > ERROR: lazy loading failed for package 'mouse4302'
> > From URL:  http://www.bioconductor.org/data/metaData/
> >         mouse4302 version 1.6.8
>I've seen this error when the library path I was installing packages
>into was not the default R system path and I had not set  and
>"exported" R_LIBS to my non-default path before running R.  See the
>documentation for install.packages where there is a brief note about

I don't think that the problem is to do with R_LIBS. Firstly, the use of 
the 'lib' argument to install.packages2() should provide a working library 
tree value, obviating the need for R_LIBS. Secondly, the problem is 
specific to the "mouse4302" package. Two days ago,

 > install.packages("hgu95av2",lib="Rlibs")


 > install.packages("mouse4302",lib="/home/users/lab0605/smyth/gordon/Rlibs")

both worked, while

 > install.packages("mouse4302",lib="Rlibs")

failed. Today, both of the last two commands fail.

Hope this extra information helps to track something down.


>Hope that helps,
>+ seth

More information about the Bioconductor mailing list