From: "Laurent Gatto" <lg390 at cam.ac.uk>
To: "Dan Tenenbaum" <dtenenba at fredhutch.org>
Cc: "Martin Morgan" <mtmorgan at fredhutch.org>, bioc-devel at r-project.org
Sent: Tuesday, November 4, 2014 11:14:08 AM
Subject: Re: [Bioc-devel] error: 2 arguments passed to .Internal(ls) which requires 3
On 4 November 2014 15:55, Dan Tenenbaum wrote:
Hi Laurent,
----- Original Message -----
From: "Martin Morgan" <mtmorgan at fredhutch.org>
To: "Laurent Gatto" <lg390 at cam.ac.uk>, bioc-devel at r-project.org
Sent: Tuesday, November 4, 2014 5:41:04 AM
Subject: Re: [Bioc-devel] error: 2 arguments passed to
.Internal(ls) which requires 3
Hi Laurent --
On 11/04/2014 01:33 AM, Laurent Gatto wrote:
Something's fishy with my R devel/Bioc 3.1 installation and I
fail
to
see what is wrong.
I want to install Homo.sapiens:
## Bioconductor version 3.1 (BiocInstaller 1.17.1), ?biocLite
for
help
## BioC_mirror: http://bioconductor.org
## Using Bioconductor version 3.1 (BiocInstaller 1.17.1), R
version
3.2.0.
## Installing package(s) 'Homo.sapiens'
## trying URL
'http://bioconductor.org/packages/3.1/data/annotation/src/contrib/Homo.sapiens_1.1.2.tar.gz'
## Content type 'application/x-gzip' length 1511 bytes
## opened URL
## ==================================================
## downloaded 1511 bytes
##
## * installing *source* package ?Homo.sapiens? ...
## ** R
## ** data
## ** preparing package for lazy loading
## Error : .onLoad failed in loadNamespace() for 'GO.db',
details:
## call: ls(envir, all.names = TRUE)
## error: 2 arguments passed to .Internal(ls) which requires 3
## Error : package ?GO.db? could not be loaded
## ERROR: lazy loading failed for package ?Homo.sapiens?
## * removing
?/home/lg390/R/x86_64-unknown-linux-gnu-library/3.2/Homo.sapiens?
## * restoring previous
?/home/lg390/R/x86_64-unknown-linux-gnu-library/3.2/Homo.sapiens?
##
## The downloaded source packages are in
## ?/tmp/RtmpXYXfis/downloaded_packages?
## Warning message:
## In install.packages(pkgs = pkgs, lib = lib, repos = repos,
...)
:
## installation of package ?Homo.sapiens? had non-zero exit
status
GO.db is up-to-date, but let's (successfully) biocLite and load
it:
## BioC_mirror: http://bioconductor.org
## Using Bioconductor version 3.1 (BiocInstaller 1.17.1), R
version
3.2.0.
## Installing package(s) 'GO.db'
## trying URL
'http://bioconductor.org/packages/3.1/data/annotation/src/contrib/GO.db_3.0.0.tar.gz'
## Content type 'application/x-gzip' length 28747892 bytes (27.4
MB)
## opened URL
## ==================================================
## downloaded 27.4 MB
##
## * installing *source* package ?GO.db? ...
## ** R
## ** inst
## ** preparing package for lazy loading
## ** help
## *** installing help indices
## ** building package indices
## ** testing if installed package can be loaded
## * DONE (GO.db)
##
## The downloaded source packages are in
## ?/tmp/Rtmprr15y4/downloaded_packages?
suppressPackageStartupMessages(library("GO.db"))
Repeating unsuccessful attempt to install Homo.sapiens fails
again:
## bioc_mirror: http://bioconductor.org
## using bioconductor version 3.1 (biocinstaller 1.17.1), r
version
3.2.0.
## installing package(s) 'homo.sapiens'
## trying url
'http://bioconductor.org/packages/3.1/data/annotation/src/contrib/homo.sapiens_1.1.2.tar.gz'
## content type 'application/x-gzip' length 1511 bytes
## opened url
## ==================================================
## downloaded 1511 bytes
##
## * installing *source* package ?homo.sapiens? ...
## ** r
## ** data
## ** preparing package for lazy loading
## error : .onload failed in loadnamespace() for 'go.db',
details:
## call: ls(envir, all.names = true)
## error: 2 arguments passed to .internal(ls) which requires 3
## error : package ?go.db? could not be loaded
## error: lazy loading failed for package ?homo.sapiens?
## * removing
?/home/lg390/r/x86_64-unknown-linux-gnu-library/3.2/homo.sapiens?
## * restoring previous
?/home/lg390/r/x86_64-unknown-linux-gnu-library/3.2/homo.sapiens?
##
## the downloaded source packages are in
## ?/tmp/rtmprr15y4/downloaded_packages?
## warning message:
## in install.packages(pkgs = pkgs, lib = lib, repos = repos,
...)
:
## installation of package ?homo.sapiens? had non-zero exit
status
I have the exact same error with ReportingTools/PFAM.db,
Mus.musculus/GO.db and probably others.
Session info with other relevant package versions below. I
experienced
the same error with a slightly older R-devel (2014-10-29
r66897).
Any hints?
Somewhere I think there's a stale serialized R-3.1 reference to
ls(),
derived
from a package build with R-3.1 rather than R-devel.
A little detective work shows that packages are loaded in the
following order
...
[43] "graph" "RBGL"
[45] "GO.db" "org.Hs.eg.db"
[47] "TxDb.Hsapiens.UCSC.hg19.knownGene" "Homo.sapiens"
so I wonder if org.Hs.eg.db or TxDb.... is actually the problem,
and
biocLite(org.Hs.eg.db) or TxDb... (maybe with type="source") would
help?
It might help to (maybe before biocLite(), to find the source of
the
problem)
biocLite("Homo.sapiens", INSTALL_opts="--no-test-load")
and then
library(Homo.sapiens)
followed by traceback() -- this way you'll at least be able to
explore the call
stack.
Didn't you report this same problem the other day and the solution
was
to update all your packages?
Yes, and that was Go.db that failed. Updating to AnnotationDbi 1.29.1
fixed it.
Note that both installed.packages() and packageDescription()
display
information about the version of R under which a given package was
built.
So that could help narrow things down. It's almost certainly an
annotation package, because almost all of the ones in our devel
repository are just copied from our release repository and built
under
R-3.1.x. So we might need to rebuild them under R-devel, at least
the
ones with stale serialized references.
Ok, I guess I will go ahead and hunt all annotation packages.
What is the best way to programmatically get a list of all annotation
packages - biocViews? While thinking about a question that came up on
the support site, I realised that I did not even know if the
annotation
packages lived in an svn repo.