[Bioc-devel] Problem with getBioC()
Hi,
Goeman, J.J. (MSTAT) wrote:
Hi Robert and Seth, I was too quick in apologizing. I do still have the same problem, which now did not turn up in installing affy, but in installing genefilter. Running getBioC() a second time installed everything without problems. But then reinstalling R again and running getBioC() gave the same problems installing affy again. It puzzles me completely! Some traceback() information below.
I am wondering if this is related to the locale settings (are you using a non-English locale?) and some of the recent changes in R to support other character sets. Which would explain why we have not seen it - since we don't use non-English settings (anyone else out there with non-English settings willing to give this a try).
I do not think that this is a problem, as I'm running an English version of Windows.
You might also try and set options(error=recover), to see if that pops you into a debugger at some useful point (did you try traceback()?) Also, debug(install.packages), and then running this, would help to narrow down just what we are looking for.
Traceback gives:
traceback()
so use options(error=recover) select the frame for sprintf and then see what tmpDir, curPkg and instPath are, one suspects that therein lies the problem
9: sprintf(gettext("unable to move temp installation '%d' to '%s'"),
file.path(tmpDir, curPkg), instPath)
8: warning(sprintf(gettext("unable to move temp installation '%d' to '%s'"),
file.path(tmpDir, curPkg), instPath), domain = NA, call. = FALSE)
7: unpackPkg(foundpkgs[okp, 2], foundpkgs[okp, 1], lib, installWithVers)
6: .install.winbinary(pkgs = pkgs, lib = lib, contriburl = contriburl,
method = method, available = available, destdir = destdir,
installWithVers = installWithVers, dependencies = dependencies)
5: install.packages(pkgs = c("affy", "affydata", "affyPLM", "annaffy",
"annotate", "Biobase", "Biostrings", "DynDoc", "edd", "gcrma",
"genefilter", "geneplotter", "hgu95av2", "limma", "makecdfenv",
"marray", "matchprobes", "multtest", "pamr", "reposTools", "ROC",
"siggenes", "sma", "statmod", "tkWidgets", "vsn", "widgetTools",
"xtable"), repos = c("http://www.bioconductor.org/packages/bioc/stable",
"http://www.bioconductor.org/packages/data/annotation/stable",
"http://www.bioconductor.org/packages/data/experiment/stable",
"http://www.bioconductor.org/packages/omegahat/stable", "http://www.bioconductor.org/packages/lindsey/stable",
"http://cran.fhcrc.org"), lib = "C:/PROGRA~1/R/rw2010/library",
dependencies = c("Depends", "Imports"))
4: do.call("install.packages", args)
3: biocinstall(lib = "C:/PROGRA~1/R/rw2010/library", groupName = "default",
dependencies = c("Depends", "Imports"))
2: do.call("biocinstall", args)
1: getBioC()
Setting options(error=recover) gives me a huge amount of output which I can't make heads or tails of. I've put it down below.
Or another experiment - try just downloading the zip file, to the desktop and then loading it...
That solves the problem, as my previous email showed. But it does not show why it occurs. Best, Jelle
options(error=recover) debug(install.packages) getBioC()
Running getBioC version 0.7 with R version 2.1.0
Running biocinstall version 1.0 with R version 2.1.0
debugging in: install.packages(pkgs = c("affy", "affydata", "affyPLM", "annaffy",
"annotate", "Biobase", "Biostrings", "DynDoc", "edd", "gcrma",
"genefilter", "geneplotter", "hgu95av2", "limma", "makecdfenv",
"marray", "matchprobes", "multtest", "pamr", "reposTools", "ROC",
"siggenes", "sma", "statmod", "tkWidgets", "vsn", "widgetTools",
"xtable"), repos = c("http://www.bioconductor.org/packages/bioc/stable",
"http://www.bioconductor.org/packages/data/annotation/stable",
"http://www.bioconductor.org/packages/data/experiment/stable",
"http://www.bioconductor.org/packages/omegahat/stable", "http://www.bioconductor.org/packages/lindsey/stable",
"http://cran.fhcrc.org"), lib = "C:/PROGRA~1/R/rw2010/library",
dependencies = c("Depends", "Imports"))
debug: {
explode_bundles <- function(a) {
contains <- .find_bundles(a, FALSE)
extras <- unlist(lapply(names(contains), function(x) paste(contains[[x]],
" (", x, ")", sep = "")))
sort(as.vector(c(a[, 1], extras)))
}
if (missing(pkgs) || !length(pkgs)) {
if (.Platform$OS.type == "windows" || .Platform$GUI ==
"AQUA") {
if (is.null(available))
available <- available.packages(contriburl = contriburl,
method = method)
if (NROW(available)) {
a <- explode_bundles(available)
pkgs <- select.list(a, multiple = TRUE, title = "Packages")
}
if (!length(pkgs))
stop("no packages were specified")
}
else if (.Platform$OS.type == "unix" && capabilities("tcltk") &&
capabilities("X11")) {
if (is.null(available))
available <- available.packages(contriburl = contriburl,
method = method)
if (NROW(available)) {
a <- explode_bundles(available)
pkgs <- tcltk::tk_select.list(a, multiple = TRUE,
title = "Packages")
}
if (!length(pkgs))
stop("no packages were specified")
}
else stop("no packages were specified")
}
if (missing(lib) || is.null(lib)) {
lib <- .libPaths()[1]
if (length(.libPaths()) > 1)
warning(gettextf("argument 'lib' is missing: using %s",
lib), immediate. = TRUE, domain = NA)
}
if (.Platform$OS.type == "windows") {
if (type == "mac.binary")
stop("cannot install MacOS X binary packages on Windows")
if (type == "win.binary") {
.install.winbinary(pkgs = pkgs, lib = lib, contriburl = contriburl,
method = method, available = available, destdir = destdir,
installWithVers = installWithVers, dependencies = dependencies)
return(invisible())
}
}
else {
if (type == "mac.binary") {
if (!length(grep("darwin", R.version$platform)))
stop("cannot install MacOS X binary packages on this plaform")
.install.macbinary(pkgs = pkgs, lib = lib, contriburl = contriburl,
method = method, available = available, destdir = destdir,
installWithVers = installWithVers, dependencies = dependencies)
return(invisible())
}
if (type == "win.binary")
stop("cannot install Windows binary packages on this plaform")
if (!file.exists(file.path(R.home(), "bin", "INSTALL")))
stop("This version of R is not set up to install source packages\nIf it was installed from an RPM, you may need the R-devel RPM")
}
if (is.null(repos) & missing(contriburl)) {
update <- cbind(pkgs, lib)
cmd0 <- paste(file.path(R.home(), "bin", "R"), "CMD INSTALL")
if (installWithVers)
cmd0 <- paste(cmd0, "--with-package-versions")
for (i in 1:nrow(update)) {
cmd <- paste(cmd0, "-l", shQuote(update[i, 2]), shQuote(update[i,
1]))
if (system(cmd) > 0)
warning(gettextf("installation of package '%s' had non-zero exit status",
update[i, 1]), domain = NA)
}
return(invisible())
}
oneLib <- length(lib) == 1
tmpd <- destdir
nonlocalcran <- length(grep("^file:", contriburl)) < length(contriburl)
if (is.null(destdir) && nonlocalcran) {
tmpd <- file.path(tempdir(), "downloaded_packages")
if (!file.exists(tmpd) && !dir.create(tmpd))
stop(gettextf("Unable to create temporary directory '%s'",
tmpd), domain = NA)
}
depends <- is.character(dependencies) || (is.logical(dependencies) &&
dependencies)
if (depends && is.logical(dependencies))
dependencies <- c("Depends", "Imports", "Suggests")
if (depends && !oneLib) {
warning("Do not know which element of 'lib' to install dependencies into\nskipping dependencies")
depends <- FALSE
}
if (is.null(available))
available <- available.packages(contriburl = contriburl,
method = method)
bundles <- .find_bundles(available)
for (bundle in names(bundles)) pkgs[pkgs %in% bundles[[bundle]]] <- bundle
if (depends) {
p0 <- p1 <- unique(pkgs)
have <- .packages(all.available = TRUE)
repeat {
if (any(miss <- !p1 %in% row.names(available))) {
cat(sprintf(ngettext(sum(miss), "dependency %s is not available",
"dependencies %s are not available"), paste(sQuote(p1[miss]),
collapse = ", ")), "\n\n", sep = "")
flush.console()
}
p1 <- p1[!miss]
deps <- as.vector(available[p1, dependencies])
deps <- .clean_up_dependencies(deps, available)
if (!length(deps))
break
toadd <- deps[!deps %in% c("R", have, pkgs)]
if (length(toadd) == 0)
break
pkgs <- c(toadd, pkgs)
p1 <- toadd
}
for (bundle in names(bundles)) pkgs[pkgs %in% bundles[[bundle]]] <- bundle
pkgs <- unique(pkgs)
pkgs <- pkgs[pkgs %in% row.names(available)]
if (length(pkgs) > length(p0)) {
added <- setdiff(pkgs, p0)
cat(ngettext(length(added), "also installing the dependency ",
"also installing the dependencies "), paste(sQuote(added),
collapse = ", "), "\n\n", sep = "")
flush.console()
}
}
foundpkgs <- download.packages(pkgs, destdir = tmpd, available = available,
contriburl = contriburl, method = method, type = "source")
if (!is.null(foundpkgs)) {
update <- unique(cbind(pkgs, lib))
colnames(update) <- c("Package", "LibPath")
found <- pkgs %in% foundpkgs[, 1]
files <- foundpkgs[match(pkgs[found], foundpkgs[, 1]),
2]
update <- cbind(update[found, , drop = FALSE], file = files)
if (nrow(update) > 1) {
upkgs <- unique(pkgs <- update[, 1])
DL <- .make_dependency_list(upkgs, available)
p0 <- .find_install_order(upkgs, DL)
update <- update[sort.list(match(pkgs, p0)), ]
}
cmd0 <- paste(file.path(R.home(), "bin", "R"), "CMD INSTALL")
if (installWithVers)
cmd0 <- paste(cmd0, "--with-package-versions")
for (i in 1:nrow(update)) {
cmd <- paste(cmd0, "-l", shQuote(update[i, 2]), update[i,
3])
status <- system(cmd)
if (status > 0)
warning(gettextf("installation of package '%s' had non-zero exit status",
update[i, 1]), domain = NA)
}
if (!is.null(tmpd) && is.null(destdir))
cat("\n", gettextf("The downloaded packages are in\n\t%s",
normalizePath(tmpd)), "\n", sep = "")
link.html.help(verbose = TRUE)
}
else if (!is.null(tmpd) && is.null(destdir))
unlink(tmpd, TRUE)
invisible()
}