[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

http://software.rc.fas.harvard.edu/mirrors/R/

then just

tar xvfz R-2.13.0.tar.gz
cd R-2.13.0
./configure
make

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.

Best,

Jim


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
>>> [10] LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=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.
Biostatistician
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
734-615-7826
**********************************************************
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