[BioC] Library installation: odd error

Michael Bauer mjbauer at eecs.tufts.edu
Tue Jul 12 21:47:22 CEST 2011


I am a system administrator at a site with several R users.  In response 
to a previous set of questions, we were encouraged to have individual 
users set up R library directories in their home directories and use the 
R environment variables to direct R to put auto-installed libraries there.

However, we've run across one consistent problem: the library that 
prompted this whole string will not install on Linux.  (It installs just 
fine in R on Windows.)  When presented with a writable library directory 
to install into, it the installation invariably fails with the error:

Error in ret[i, ] <- c(pkgs[i], lib, desc) :
   number of items to replace is not a multiple of replacement length

Two examples: if a user loads data into R (on Linux) that requires a 
library not currently available, then tries to analyze it, the following 
happens:

 > library(affy)
Loading required package: Biobase

Welcome to Bioconductor

   Vignettes contain introductory material. To view, type
   'openVignette()'. To cite Bioconductor, see
   'citation("Biobase")' and for packages 'citation(pkgname)'.

 > test.mas5calls = mas5calls(CelData)
Getting probe level data...
Error in ret[i, ] <- c(pkgs[i], lib, desc) :
   number of items to replace is not a multiple of replacement length


We've successfully had the library install on Windows, so I have the 
name of the library itself: hgu133plus2cdf.  When I try to install the 
library directly, by hand, in Linux, I get the same error:

 > source("http://bioconductor.org/biocLite.R")
BioC_mirror = http://bioconductor.org
Change using chooseBioCmirror().
 > biocLite("hgu133plus2cdf")
Using R version 2.13.0, biocinstall version 2.8.4.
Installing Bioconductor version 2.8 packages:
[1] "hgu133plus2cdf"
Please wait...

Installing package(s) into '/h/mjbauer/Rlibs'
(as 'lib' is unspecified)
Error in ret[i, ] <- c(pkgs[i], lib, desc) :
   number of items to replace is not a multiple of replacement length
 >


In both cases, the directory the library is trying to install into is 
writable.  If we instead try to install the library into a non-writable 
directory, the error changes to:

 > source("http://bioconductor.org/biocLite.R")
BioC_mirror = http://bioconductor.org
Change using chooseBioCmirror().
 > biocLite("hgu133plus2cdf")
Using R version 2.13.0, biocinstall version 2.8.4.
Installing Bioconductor version 2.8 packages:
[1] "hgu133plus2cdf"
Please wait...

Installing package(s) into '/usr/lib64/R/library'
(as 'lib' is unspecified)
Warning in install.packages(pkgs = pkgs, repos = repos, ...) :
   'lib = "/usr/lib64/R/library"' is not writable
Would you like to create a personal library
'~/R/x86_64-redhat-linux-gnu-library/2.13'
to install packages into?  (y/n) y
Error in ret[i, ] <- c(pkgs[i], lib, desc) :
   number of items to replace is not a multiple of replacement length
 >


Everything I can find on the text of the error itself suggests that 
there is a coding error of some sort involved.  This is an attempt at 
installing a library on Linux that successfully installs on R on 
Windows, so presumably there's no coding error of the sort involved.

Can anyone shed light on what might be going on here?  My first thought 
is that the hgu133plus2cdf is somehow Windows only, as the version of R 
(2.13) and Bioconductor (2.8) are the same on both systems.

Thanks,
MJB



More information about the Bioconductor mailing list