Thanks Charlotte for the detective work.

Annotation packages (TxDb, org, BSgenome, and GenomeInfoDbData, for instance) 
are distributed only as source – this was a decision made quite a while (years) 
ago, to save disk space (some of these packages are large, and hosting macOS 
and Windows binaries in addition to source triple disk space requirements) and 
on the rationale that the packages do not have C-level source code so users do 
not need RTools or XCode (etc) to install from ‘source’. So in this context and 
in the face of a buggy remotes package, and installation of Bioconductor 
packages through non-standard approaches (BiocManager::install() for CRAN and 
Bioconductor packages and their dependencies use base R commands only) I guess 
the behavior you document is really an (ongoing?) bug in the remotes package?

Over the years the distribution of source-only annotation packages has caused 
problems, in particular when (usually Windows) users have temporary or library 
paths with spaces or non-ASCII characters. I believe that this upstream bug (in 
R’s handling of Windows paths) has been fixed in the 4.0.0 release, but the 
details are quite complicated and I have not been able to follow the discussion 
fully.

Martin

From: Charlotte Soneson <charlottesone...@gmail.com>
Date: Sunday, April 26, 2020 at 5:32 AM
To: Martin Morgan <mtmorgan.b...@gmail.com>
Cc: Leonardo Collado Torres <lcollado...@gmail.com>, Bioc-devel 
<bioc-devel@r-project.org>
Subject: Re: [Bioc-devel] GenomicFeatures and/or 
TxDb.Hsapiens.UCSC.hg19.knownGene issue: missing tibble

Hi Leo, Martin,

it looks like this is related to an issue with the remotes package: 
https://github.com/r-lib/remotes/issues/296. It gets the installation order 
wrong, and tries to install source packages before binaries. This can be a 
problem with GenomeInfoDbData (which I think doesn’t have a binary, and which 
it looks like Leo is installing manually). The TxDb package also doesn’t seem 
to be available as a binary package, and currently the source package for 
tibble is newer than the Windows binary.

According to the issue above, it should have been fixed in remotes v2.1.1 
(https://github.com/r-lib/remotes/commit/88f302fe53864e4f27fc7b3897718fea9a8b1fa9).
 To try things out, I set up a minimal package with the only dependency being 
TxDb.Hsapiens.UCSC.hg19.knownGene (https://github.com/csoneson/testpkg), and 
checked it with GitHub Actions on macOS and Windows. It fails in both cases, 
since it’s trying to install TxDb.Hsapiens.UCSC.hg19.knownGene first (e.g. 
https://github.com/csoneson/testpkg/runs/619407291?check_suite_focus=true#step:7:533).
 If I depend instead on GenomicFeatures, everything builds fine (here we have a 
binary). It is using remotes v2.1.1 though, so perhaps this needs to be 
investigated further.

Charlotte


On 25 Apr 2020, at 22:20, Martin Morgan 
<mtmorgan.b...@gmail.com<mailto:mtmorgan.b...@gmail.com>> wrote:

tibble is not a direct dependency of TxDb*.


db = available.packages(repos = BiocManager::repositories())
deps = tools::package_dependencies("TxDb.Hsapiens.UCSC.hg19.knownGene", db)
deps
$TxDb.Hsapiens.UCSC.hg19.knownGene
[1] "GenomicFeatures" "AnnotationDbi"

but it is an indirect dependency


deps = tools::package_dependencies("TxDb.Hsapiens.UCSC.hg19.knownGene", db, 
recursive=TRUE)
"tibble" %in% unlist(deps)
[1] TRUE

I did

 deps1 = tools::package_dependencies("TxDb.Hsapiens.UCSC.hg19.knownGene", db, 
recursive=TRUE)

 deps2 = tools::package_dependencies("tibble", db, recursive=TRUE, reverse=TRUE)

 intersect(unlist(deps1), unlist(deps2))
 ## [1] "GenomicFeatures" "biomaRt"         "BiocFileCache"   "dbplyr"
 ## [5] "dplyr"

I believe R checks for immediate dependencies, found all for TxDb* and 
GenomicFeatures available, and didn’t check further. I speculate that you 
removed tibble, or installed one of the packages in the above list, without 
satisfying the dependencies for that package. Or perhaps what the message is 
really trying to say is that it failed to load tibble (because it was installed 
in a previous version of the R toolchain?)

It would be interesting to debug this further on your system, to understand the 
problem for other users.

Martin

On 4/25/20, 2:48 PM, "Bioc-devel on behalf of Leonardo Collado Torres" 
<bioc-devel-boun...@r-project.org<mailto:bioc-devel-boun...@r-project.org> on 
behalf of lcollado...@gmail.com<mailto:lcollado...@gmail.com>> wrote:

   Hi Bioc-devel,

   I think that there's a potential issue with either GenomicFeatures,
   TxDb.Hsapiens.UCSC.hg19.knownGene or an upstream package.


   On a fresh R 4.0 Windows installation with BioC 3.11, I get the
   following error message when installing
   TxDb.Hsapiens.UCSC.hg19.knownGene as shown at
   
https://github.com/leekgroup/derfinderPlot/runs/618370463?check_suite_focus=true#step:13:1225.


   2020-04-25T18:32:26.0765748Z * installing *source* package
   'TxDb.Hsapiens.UCSC.hg19.knownGene' ...
   2020-04-25T18:32:26.0769789Z ** using staged installation
   2020-04-25T18:32:26.1001400Z ** R
   2020-04-25T18:32:26.1044734Z ** inst
   2020-04-25T18:32:26.2061605Z ** byte-compile and prepare package for
   lazy loading
   2020-04-25T18:32:30.7296724Z ##[error]Error: package or namespace load
   failed for 'GenomicFeatures' in loadNamespace(i, c(lib.loc,
   .libPaths()), versionCheck = vI[[i]]):
   2020-04-25T18:32:30.7305615Z ERROR: lazy loading failed for package
   'TxDb.Hsapiens.UCSC.hg19.knownGene'
   2020-04-25T18:32:30.7306686Z * removing
   'D:/a/_temp/Library/TxDb.Hsapiens.UCSC.hg19.knownGene'
   2020-04-25T18:32:30.7307196Z  there is no package called 'tibble'
   2020-04-25T18:32:30.7310561Z ##[error]Error: package 'GenomicFeatures'
   could not be loaded
   2020-04-25T18:32:30.7311805Z Execution halted

   From looking at the bioc-devel landing pages for both GenomicFeatures
   and TxDb.Hsapiens.UCSC.hg19.knownGene, I see that tibble is not listed
   as a dependency for either package.

   Best,
   Leo

   _______________________________________________
   Bioc-devel@r-project.org<mailto:Bioc-devel@r-project.org> mailing list
   https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel@r-project.org<mailto:Bioc-devel@r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to