[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