Hi again,

as for getting the immediate dependencies, this is what remotes does internally 
(it includes also recommended packages though):

deps <- remotes::local_package_deps(pkgdir = ".", dependencies = TRUE)

> I guess I would further simplify the problem by eliminating from 'deps' the 
> packages that do not contribute to the problem. So I wonder what a minimal 
> 'deps' looks like? This would be much more helpful for understanding the 
> problem than many 1000's of lines of output from CI.

For my small example package, deps (as created with your code below) was just 
TxDb.Hsapiens.UCSC.hg19.knownGene.

> So I conclude that the problem is actually IN BASE R, and that the fix is in 
> the incredibly complicated logic of install.packages.

I’m going to agree with this :) just to try to get a bit further, I went 
through the code of remotes, and in the end it comes down to calling 
install.packages() with a certain list of packages, and a specified set of 
repos (e.g. 
https://github.com/r-lib/remotes/blob/5b3da5f852772159cc2a580888e10536a43e9199/R/install.R#L75
 
<https://github.com/r-lib/remotes/blob/5b3da5f852772159cc2a580888e10536a43e9199/R/install.R#L75>).
 So I tried to just install some packages with install.packages(), in an empty 
library, to see what would happen. Experiments are here (not very easily 
accessible, I admit, but still) if someone is interested: 
https://github.com/csoneson/testinstall/actions 
<https://github.com/csoneson/testinstall/actions> 

Long story short, this works fine: 
> install.packages("TxDb.Hsapiens.UCSC.hg19.knownGene", repos = 
> c(getOption('repos'), BiocManager::repositories()), type = "both", 
> dependencies = TRUE)

This doesn’t (tries to install annotation packages before GenomeInfoDbData):
> install.packages(c("TxDb.Hsapiens.UCSC.hg19.knownGene","IRanges","GenomeInfoDb"),
>  repos = c(getOption('repos'), BiocManager::repositories()), type = "both", 
> dependencies = TRUE)
With other combinations of packages, sometimes it works, sometimes not. 

At the same time, this works fine:
> BiocManager::install(c("TxDb.Hsapiens.UCSC.hg19.knownGene","IRanges","GenomeInfoDb"))


And one more observation which may or may not be related: locally, this fails 
for me:

> remotes::install_bioc('TxDb.Hsapiens.UCSC.hg19.knownGene')

while this works: 

> remotes::install_bioc('SummarizedExperiment’)

Charlotte

> On 27 Apr 2020, at 12:11, Martin Morgan <mtmorgan.b...@gmail.com> wrote:
> 
> Personally, I wouldn't trust remotes to get the Bioconductor repositories, 
> and hence the dependency graph, correct. I say this mostly because of 
> problems to get BiocManager to get the repositories right during each phase 
> of the Biocoonductor release cycle, not to diss the remotes package.
> 
> I'd grab the immediate dependencies ONLY of the new package from the 
> DESCRIPTION file (does remotes have a function to do this? I'd trust it to do 
> a better job than my hack, but I'd double check it)
> 
>  dcf = read.dcf("DESCRIPTION", c("Depends", "Imports", "LinkingTo", 
> "Enhances", "Suggests"))
>  deps = unlist(strsplit(dcf, ",[[:space:]]*"))
>  deps = sub(" .*", "", deps)                    # no version info
>  deps = setdiff(deps, c("R", NA, rownames(installed.packages(priority = 
> "high"))))
> 
> I'd then do the builds with
> 
>  BiocManager::install(deps)
> 
> If that failed and I wanted to 'peel back' a layer of responsibility to get 
> closer to a minimal reproducible example, I'd do
> 
>  install.packages(deps, repos = BiocManager::repositories())
> 
> I believe that (maybe you can confirm?) this fails for your case. 
> 
> BiocManager::repositories() is just a named character vector -- in devel it 
> is currently
> 
>> dput(BiocManager::repositories())
>  c(BioCsoft = "https://bioconductor.org/packages/3.11/bioc";,
>    BioCann =   "https://bioconductor.org/packages/3.11/data/annotation";,
>    BioCexp = "https://bioconductor.org/packages/3.11/data/experiment";,
>    BioCworkflows = "https://bioconductor.org/packages/3.11/workflows";,
>    CRAN = "https://cran.rstudio.com";)
> 
> So I conclude that the problem is actually IN BASE R, and that the fix is in 
> the incredibly complicated logic of install.packages.
> 
> I guess I would further simplify the problem by eliminating from 'deps' the 
> packages that do not contribute to the problem. So I wonder what a minimal 
> 'deps' looks like? This would be much more helpful for understanding the 
> problem than many 1000's of lines of output from CI.
> 
> This might help to come up with a simple example to demonstrate Charlotte's 
> conclusion that the source packages are installed in the wrong order. And 
> that might also lead to a difference between parallel (options(Ncpus = 8), 
> for example) versus serial (options(Ncpus = NULL)) builds...
> 
> Thanks for your exhaustive work on this!
> 
> Martin
> 
> On 4/27/20, 2:03 AM, "Leonardo Collado Torres" <lcollado...@gmail.com> wrote:
> 
>    EDIT:  I found a general solution! (workaround?) I had written a
>    response, but I had an idea, tested it and a few hours later I'm
>    finishing this email. It does work... although not exactly as I
>    intended it to.
> 
> 
> 
>    ---
> 
>    Thanks Martin for looking into this =)
> 
>    I'll respond to your question about making things complicated for myself.
> 
> 
>    ## General scenario
> 
>    The general scenario is, I have a package say `newpkg`. `newpkg` has
>    dependencies (imports, suggests and/or depends) on Bioconductor
>    packages. I want to test that `newpkg` passes R CMD build, check &
>    BiocCheck. To do so, we need all the dependencies of `newpkg`
>    available including the "suggests" ones.
> 
>    If `newpkg` was already available from Bioconductor, I could install
>    it using BiocManager::install("newpkg"). But that's not necessarily
>    the case.**
> 
>    One could install the dependencies for `newpkg` manually, using
>    BiocManager::install(), remotes, and/or install.packages(). But then,
>    you need to adapt the code again for `newerpkg`, `oldpkg`, etc.
> 
>    Currently, either through remotes::install_deps() or through
>    remotes::dev_package_deps(dependencies = TRUE) directly (the first
>    calls the second
>    
> https://github.com/r-lib/remotes/blob/5b3da5f852772159cc2a580888e10536a43e9199/R/install.R#L193)
>    Charlotte and I are getting the list of packages that `newpkg` depends
>    on, then either installing them through remotes or BiocManager. This
>    is failing for both of us, though in theory (as far as I know) either
>    should work. Is this something that could be fixed? I don't know.++
> 
> 
>    ## GitHub Actions
> 
>    Ultimately in my case, I'm trying to build a GitHub Actions workflow
>    that will work for any package with Bioconductor dependencies. I'm
>    nearly there, it's just this last issue about the source-only BioC
>    packages (annotation, experiment, workflow). I've been doing this
>    since last week and through this process I discovered some issues with
>    my own packages that were masked in the Bioconductor build machines.
>    Many other packages are already installed in the Bioconductor build
>    machines and on my laptop, so I hadn't noticed some missing "suggests"
>    dependencies on some of my packages. For example
>    
> https://github.com/leekgroup/recount/commit/f3bdb77d789f1a8364f16b71bd344fd23ecbfda5.
> 
> 
>    ## Some possibilities to explore
> 
>    Maybe what we need is some other code to process the DESCRIPTION file
>    of `newpkg`, extract the list of packages explicitly mentioned on
>    DESCRIPTION (removing those that are base packages, say it's 10
>    packages), then just install those direct dependencies (the 10
>    packages) instead of all the packages listed in the DESCRIPTION and
>    their dependencies (what you can get from remotes::dev_package_deps(),
>    say 100 packages) and pass this smaller list of direct dependencies to
>    BiocManager::install(). However, I suspect that it won't work either,
>    because again, I'm expecting (maybe incorrectly) that
>    BiocManager::install() figures out the right order in which to install
>    either the short or long list of packages and this is currently
>    failing for the long list.
> 
>    Another option might involve figuring out from the full list of
>    dependencies (remotes::dev_package_deps(dependencies = TRUE) ), which
>    ones are available only through source (maybe those available only
>    through repos BioCann, BioCexp, BioCworkflows from
>    BiocManager::repositories() ) and install those first, then install
>    the remaining packages that exist in the BioCsoft and CRAN
>    repositories. Maybe something like:
> 
>    ## This doesn't work since BiocManager::install() doesn't allow using
>    the `repos` argument
>    deps <- remotes::dev_package_deps(dependencies = TRUE)
>    BiocManager::install(deps$package[deps$diff != 0], repos =
>    BiocManager::repositories()[c('BioCann', 'BioCexp', 'BioCworkflows')]
>    )
>    BiocManager::install(deps$package[deps$diff != 0])
> 
>    ## This also doesn't work since all CRAN deps are missing at this point
>    remotes::install_deps( repos =
>    BiocManager::repositories()[c('BioCann', 'BioCexp', 'BioCworkflows')]
>    )
>    remotes::install_deps()
> 
> 
>    ## But the above lead me a solution at
>    
> https://github.com/leekgroup/derfinderPlot/blob/8695cbee49a01d1d297042232a1593e6c94f1b41/.github/workflows/check-bioc.yml#L139-L165.
>    That is, install packages in waves: first the CRAN ones, then the BioC
>    source-only ones, then the BioC software ones. Doing the installation
>    in this order worked for several of my packages (as many as I could
>    test tonight).
> 
> 
>    message(paste('****', Sys.time(), 'installing BiocManager ****'))
>    remotes::install_cran("BiocManager")
> 
>    message(paste('****', Sys.time(), 'installing CRAN dependencies ****'))
>    remotes::install_deps(repos = BiocManager::repositories()['CRAN'])
> 
>    message(paste('****', Sys.time(), 'installing BioC source-only
>    dependencies ****'))
>    remotes::install_deps(repos = BiocManager::repositories()[c('BioCann',
>    'BioCexp', 'BioCworkflows')])
> 
>    message(paste('****', Sys.time(), 'installing remaining BioC
>    dependencies ****'))
>    deps <- remotes::dev_package_deps(dependencies = TRUE, repos =
>    BiocManager::repositories())
>    BiocManager::install(deps$package[deps$diff != 0])
> 
> 
>    I added those messages so I could find these steps on the logs more
>    easily and it works for Bioconductor's devel docker, macOS and Windows
>    using R 4.0 and BioC 3.11.
> 
>    Here are the links to one log file (Windows):
> 
>    1. BiocManager:
>    
> https://github.com/leekgroup/derfinderPlot/runs/621120165?check_suite_focus=true#step:12:40
>    2. CRAN deps: 
> https://github.com/leekgroup/derfinderPlot/runs/621120165?check_suite_focus=true#step:12:43
>    (though hm... it does install many BioC ones, not sure why)
>    3. The BioC source-only deps:
>    
> https://github.com/leekgroup/derfinderPlot/runs/621120165?check_suite_focus=true#step:12:1219
>    (hm... doesn't install anything)
>    4. BioC remaining deps:
>    
> https://github.com/leekgroup/derfinderPlot/runs/621120165?check_suite_focus=true#step:12:1222
>    This is where TxDb.Hsapiens.UCSC.hg19.knownGene gets installed;
>    GenomeInfoDbData and tibble are available for GenomicFeatures at this
>    point, so no errors pop up. This step also installs a few other CRAN
>    deps which I'm not sure why they didn't install before.
> 
> 
>    Best,
>    Leo
> 
>    ** Even if it was, you might not want to actually install the package
>    `newpkg` from Bioconductor/CRAN since you likely want to test the very
>    latest version of `newpkg` and avoid any false negative errors where
>    everything seems to work, but your code is really just checking the
>    latest release version (bioc-release or bioc-devel for BioC packages)
>    instead of your development version.
> 
>    ++ Maybe it could be fixed by adding a explicit dependency on
>    GenomicFeatures to both GenomeInfoDbData and tibble, though I'm not
>    sure. But it seems like fixing the order in which packages are
>    installed is the more general problem.
> 
> 
> 
> 
> 
> 
> 
>    On Sun, Apr 26, 2020 at 5:53 PM Martin Morgan <mtmorgan.b...@gmail.com> 
> wrote:
>> 
>> I spent a bit of time not understanding why you were being so complicated -- 
>> BiocManager::install() finds all CRAN / Bioc dependencies, there's no need 
>> to use remotes at all and for debugging purposes it just seemed (still 
>> seems?) like you were making trouble for yourself.
>> 
>> But eventually... I created a fake CRAN-style repository
>> 
>> $ tree my_repo/
>> my_repo/
>> ├── bin
>> │   └── macosx
>> │       └── contrib
>> │           └── 4.0
>> │               └── PACKAGES
>> └── src
>>    └── contrib
>>        └── PACKAGES
>> 
>> The plain-text PACKAGES file is an index of the packages that are supposed 
>> to be available. So under the 'bin' tree I have
>> 
>> ---
>> Package: foo
>> Version: 1.0.0
>> NeedsCompilation: true
>> 
>> Package: bar
>> Version: 1.0.0
>> Depends: foo
>> 
>> 
>> Package: baz
>> Version: 1.0.0
>> Depends: bar
>> ---
>> 
>> baz depends on bar depends on foo, and binary versions are all at 1.0.0
>> 
>> Under the src tree I have
>> 
>> ---
>> Package: foo
>> Version: 1.0.1
>> NeedsCompilation: true
>> 
>> Package: bar
>> Version: 1.0.0
>> Depends: foo
>> 
>> 
>> Package: baz
>> Version: 1.0.0
>> Depends: bar
>> ```
>> with a more recent src for foo at version 1.0.1. I guess this is (almost) 
>> the situation with GenomeInfoDbData / tibble.
>> 
>> In an R session I have
>> 
>>> available.packages(repos="file:///tmp/my_repo/")
>>    Package Version Priority Depends Imports LinkingTo Suggests Enhances
>> foo "foo"   "1.0.1" NA       NA      NA      NA        NA       NA
>> bar "bar"   "1.0.0" NA       "foo"   NA      NA        NA       NA
>> baz "baz"   "1.0.0" NA       "bar"   NA      NA        NA       NA
>>    License License_is_FOSS License_restricts_use OS_type Archs MD5sum
>> foo NA      NA              NA                    NA      NA    NA
>> bar NA      NA              NA                    NA      NA    NA
>> baz NA      NA              NA                    NA      NA    NA
>>    NeedsCompilation File Repository
>> foo "true"           NA   "file:///tmp/my_repo/src/contrib"
>> bar NA               NA   "file:///tmp/my_repo/src/contrib"
>> baz NA               NA   "file:///tmp/my_repo/src/contrib"
>> 
>> I'll try to 'install' baz; it'll fail because there are no packages to 
>> install, but it's still informative...
>> 
>>> install.packages("baz", repos = "file:///tmp/my_repo")
>> Installing package into '/Users/ma38727/Library/R/4.0/Bioc/3.11/library'
>> (as 'lib' is unspecified)
>> also installing the dependencies 'foo', 'bar'
>> 
>> 
>>  There is a binary version available but the source version is later:
>>    binary source needs_compilation
>> foo  1.0.0  1.0.1              TRUE
>> 
>> Do you want to install from sources the package which needs compilation? 
>> (Yes/no/cancel) yes
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'bar' does not exist on the local repository
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'baz' does not exist on the local repository
>> installing the source package 'foo'
>> 
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'foo' does not exist on the local repository
>> 
>> Note the order of downloads -- binaries first, then source as you found! 
>> (actually, this would 'work' because the binaries are installed without any 
>> test load, but in more complicated situations...)
>> 
>> On the other hand, if I answer 'no' to install the more recent source 
>> packages I get
>> 
>>  There is a binary version available but the source version is later:
>>    binary source needs_compilation
>> foo  1.0.0  1.0.1              TRUE
>> Do you want to install from sources the package which needs compilation? 
>> (Yes/no/cancel) no
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'foo' does not exist on the local repository
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'bar' does not exist on the local repository
>> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
>>  package 'baz' does not exist on the local repository
>> 
>> installing in the order required for dependencies.
>> 
>> If I remove baz from the source repository, I get a similar order of events, 
>> with an additional prompt about installing 'baz' from source.
>> 
>> I don't actually see, from the 'Binary packages' section of 
>> ?install.packages, how to get R to respond 'no' to the prompt to install the 
>> more recent source package foo, but still  install the source-only package 
>> 'baz'...
>> 
>> Of course this is transient, when there more recent source than binaries; my 
>> own installation of TxDb on macOS found a binary tibble as current as the 
>> source, and went without problem.
>> 
>> Martin
>> 
>> On 4/26/20, 4:48 PM, "Leonardo Collado Torres" <lcollado...@gmail.com> 
>> wrote:
>> 
>>    Hi everyone,
>> 
>>    Charlotte, thank you very much! I didn't know about that issue on
>>    `remotes` and the fix attempts. Thank you for the info Martin!
>> 
>>    However, I have to report that it doesn't seem like switching from
>>    remotes::install_deps() to BiocManager::install() fixes the issue. I
>>    updated my GitHub Actions workflow to obtain the list of dependencies
>>    using remotes, but install them with BiocManager::install() instead of
>>    remotes::install_deps(). You can see this at
>>    
>> https://github.com/leekgroup/derfinderPlot/blob/ea58939ac6bf13cae7d26951732914d96b5f7d07/.github/workflows/check-bioc.yml#L139-L149
>>    although I include the relevant lines of code below:
>> 
>>    ## Locate the package dependencies
>>    deps <- remotes::dev_package_deps(dependencies = TRUE)
>> 
>>    ## Install any that need to be updated using BiocManager to avoid
>>    ## the issues described at
>>    ## https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016675.html
>>    ## https://github.com/r-lib/remotes/issues/296
>>    remotes::install_cran("BiocManager")
>>    BiocManager::install(deps$package[deps$diff != 0])
>> 
>> 
>>    This still leads to TxDb.Hsapiens.UCSC.hg19.knownGene failing to
>>    install because GenomeInfoDbData is not available on both macOS and
>>    Windows (again, this doesn't fail on the Bioconductor devel docker).
>>    Here's for example the error on Windows
>>    
>> https://github.com/leekgroup/derfinderPlot/runs/620055131?check_suite_focus=true#step:12:1077.
>>    Immediately after, GenomeInfoDbData does get installed
>>    
>> https://github.com/leekgroup/derfinderPlot/runs/620055131?check_suite_focus=true#step:12:1100
>>    and after it, tibble
>>    
>> https://github.com/leekgroup/derfinderPlot/runs/620055131?check_suite_focus=true#step:12:1174.
>> 
>>    Likely this issue only happens on Windows and macOS because of the
>>    availability of some packages in source form and others in binary
>>    form, unlike only using source versions in the Bioconductor docker
>>    run. However, maybe I need some other code to get all the
>>    dependencies of a given package in a different order, though I was
>>    hoping that BiocManager::install() would find the right order for me
>>    as it seems to try to do so already.
>> 
>>    Charlotte linked to
>>    
>> https://github.com/r-lib/remotes/commit/88f302fe53864e4f27fc7b3897718fea9a8b1fa9.
>>    So maybe there's still something else to try to fix in remotes and/or
>>    BiocManager instead of the DESCRIPTION files of other packages like I
>>    initially thought of in this thread and in
>>    https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016671.html.
>> 
>>    Best,
>>    Leo
>> 
>> 
>> 
>>    On Sun, Apr 26, 2020 at 10:30 AM Martin Morgan <mtmorgan.b...@gmail.com> 
>> wrote:
>>> 
>>> 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> 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 on behalf of 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 mailing list
>>>   https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>> _______________________________________________
>>> 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