[BioC] Unable to install packages

James W. MacDonald jmacdon at med.umich.edu
Fri Jul 8 16:29:30 CEST 2011

Hi Heather,

You set an environment variable by

Going to your home directory and creating a new directory, say Rlib.

Opening your .bashrc file (found in your home directory) and adding a line

export R_LIBS_USER=/path/to/home/Rlib

where /path/to/home is your home directory path. Then type

source /path/to/home/.bashrc

to re-load that file, and you should then be able to get packages installed.

You might also seriously consider compiling R in your personal space 
somewhere. This is actually really simple, and it allows you to upgrade 
R at will (which is important, as both R and BioC are upgraded twice a 
year, and hounding your sysadmin for upgrades won't win you points).

It's as simple as downloading the current source tarball, from


then just

tar xvfz R-2.13.0.tar.gz
cd R-2.13.0

Then add

export PATH=/path/to/where/R/lives/R-2.13.0/bin:$PATH

to your .bashrc

Now you can install any package you like, and as new versions come out 
you can repeat the above to get the new version.



On 7/7/2011 6:06 PM, Heather Wick wrote:
> Thanks very much for your response,
> Unfortunately I don't think I'm knowledgeable enough in the
> innerworkings of R to understand what is being said by the link you
> provided. I tried typing in some of the commands but I just get
> messages saying "object not found" or "character(0)". Is there
> somewhere I can find simple step by step instructions for R beginners
> on how to fix this? How do I get the "auto fetch" as you described it,
> to work?
> I apologize for my lack of knowledge in this subject (my background is
> biology, not computer science). Thanks so much,
> ~ Heather
> On Wed, Jul 6, 2011 at 2:38 PM, Steve Lianoglou
> <mailinglist.honeypot at gmail.com>  wrote:
>> Hi,
>> On Wed, Jul 6, 2011 at 2:07 PM, Heather Wick<hwick at cs.tufts.edu>  wrote:
>>> Hi,
>>> I'm trying to perform some data analysis in R using library(affyPLM)
>>> but I keep getting this error message when I try to use it. For
>>> example:
>>>> library(affyPLM)
>>>> CelData<-ReadAffy(celfile.path="~dbianc01/Lisa/TTTS/")
>>>> probefit<-fitPLM(CelData)
>>> Warning in install.packages(cdfname, lib = lib, repos =
>>> Biobase:::biocReposList(),  :
>>>   'lib = "/usr/sup/R/lib64/R/library"' is not writable
>>> Error in install.packages(cdfname, lib = lib, repos =
>>> Biobase:::biocReposList(),  :
>>>   unable to install packages
>> It looks like you don't have privileges to install into /usr/sup/R/*
>> -- still, there are ways to get it to install into a custom/home
>> library.
>> It seems that you need an R_LIBS_USER environment variable set for it
>> to do so, see:
>> http://cran.r-project.org/doc/manuals/R-admin.html#Managing-libraries
>>> I've done this analysis plenty of times with no problem and I can't
>>> figure out what is going wrong here, since I'm not doing anything
>>> differently than before. The staff here where I work is unfamiliar
>>> with R but said the following:
>>> "affyPLM is already installed.  The library that looks like it's
>>> trying to update is Biobase, which is also already installed.  (It
>>> might also be biocReposList, which appears to be part of Biobase, but
>>> I don't speak R at all, so I don't know how to check to see if that
>>> function is actually present in Biobase.  But given the name,
>>> biocReposList looks like some sort of updater, rather than a missing
>>> function.)
>> It's actually trying to install a package for the particular array you
>> are trying to analyze. It looks like the failing R cmd is this one:
>> install.packages(cdfname, lib = lib,
>> Where `cdfname` is the name of the package (the CDF is the
>> "description file" for your array -- not sure if CDF actually xlates
>> to "chip description file", but that's what it is in spirit).
>> You already have Biobase, and affyPLM installed ...
>>> "At a guess, it looks like Biobase is trying to automatically update
>>> itself, rather than just use the code that's present.  Near as I can
>>> tell, the version of Biobase we have is 2.8.0, which matches the
>>> current released version on the Bioconductor web site.  There should
>>> be no need for it to update.  Do you have some sort of version
>>> requirement in your code somewhere?  Or is this normal behavior for R,
>>> to auto-update libraries that don't need it on the fly?  None of us
>>> are R users, so we don't know what's usual for R.
>> Just to reiterate if it wasn't clear -- it's not trying to
>> auto-update, but it's trying to "auto fetch" a package which is the
>> "description package" for the particular array you are analyzing.
>> Hope that helps,
>> -steve
>>> "I'm not at all sure why it's trying to write to
>>> /usr/sup/R/lib64/R/library, but that directory is set read-only on
>>> purpose.  Nothing should be trying to write there."
>>> I also looked at the FAQ on the bioconductor website to see if I could
>>> update packages but I got errors with that as well:
>>>> source("http://bioconductor.org/biocLite.R")
>>> BioC_mirror = http://bioconductor.org
>>> Change using chooseBioCmirror().
>>> Warning messages:
>>> 1: In safeSource() : Redefining 'biocinstall'
>>> 2: In safeSource() : Redefining 'biocinstallPkgGroups'
>>> 3: In safeSource() : Redefining 'biocinstallRepos'
>>>> update.packages()
>>> Error in ret[i, ]<- c(pkgs[i], lib, desc) :
>>>   number of items to replace is not a multiple of replacement length
>>> As suggested in the posting guide, here is the output of sessionInfo():
>>>> sessionInfo()
>>> R version 2.13.0 (2011-04-13)
>>> Platform: x86_64-redhat-linux-gnu (64-bit)
>>> locale:
>>>   [1] LC_CTYPE=C           LC_NUMERIC=C         LC_TIME=C
>>>   [4] LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C
>>>   [7] LC_PAPER=en_US.UTF-8 LC_NAME=C            LC_ADDRESS=C
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>> other attached packages:
>>> [1] affyPLM_1.24.0        preprocessCore_1.10.0 gcrma_2.20.0
>>> [4] affy_1.26.1           Biobase_2.8.0
>>> loaded via a namespace (and not attached):
>>> [1] Biostrings_2.16.0 IRanges_1.6.2     affyio_1.16.0     splines_2.13.0
>>> [5] tools_2.13.0
>>> ...and traceback():
>>>> traceback()
>>> 5: .readPkgDesc(lib, fields)
>>> 4: installed.packages(lib.loc = lib.loc)
>>> 3: NROW(instPkgs)
>>> 2: old.packages(lib.loc = lib.loc, contriburl = contriburl, method = method,
>>>        available = available, checkBuilt = checkBuilt)
>>> 1: update.packages()
>>> What can I do to fix this? My background is not in computer science. Thanks
>>> --
>>> Heather Wick
>>> Research Coordinator
>>> Tufts University Computer Science Department
>>> hwick at cs.tufts.edu
>>> _______________________________________________
>>> Bioconductor mailing list
>>> Bioconductor at r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
>> --
>> 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

James W. MacDonald, M.S.
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues 

More information about the Bioconductor mailing list