[Bioc-devel] Challenges with package installation on fresh R

Vladislav Petyuk petyuk at gmail.com
Fri Jun 26 23:36:18 CEST 2015


It looks like devtools::package_deps is forcing type to be "binary".
if (identical(type, "both")) {
        type <- "binary"
}



> devtools::package_deps
function (pkg, dependencies = NA, repos = getOption("repos"),
    type = getOption("pkgType"))
{
    if (identical(type, "both")) {
        type <- "binary"
    }
    if (length(repos) == 0)
        repos <- character()
    repos[repos == "@CRAN@"] <- "http://cran.rstudio.com"
    cran <- available_packages(repos, type)
    if (missing(pkg)) {
        pkg <- as.package(".")$package
    }
    deps <- sort(find_deps(pkg, cran, top_dep = dependencies))
    inst <- installed.packages()
    base <- unname(inst[inst[, "Priority"] %in% c("base", "recommended"),
        "Package"])
    deps <- setdiff(deps, base)
    inst_ver <- unname(inst[, "Version"][match(deps, rownames(inst))])
    cran_ver <- unname(cran[, "Version"][match(deps, rownames(cran))])
    diff <- compare_versions(inst_ver, cran_ver)
    structure(data.frame(package = deps, installed = inst_ver,
        available = cran_ver, diff = diff, stringsAsFactors = FALSE),
        class = c("package_deps", "data.frame"), repos = repos,
        type = type)
}
<environment: namespace:devtools>


On Fri, Jun 26, 2015 at 2:12 PM, Vladislav Petyuk <petyuk at gmail.com> wrote:

> Dan, Herve, thanks for taking a look. This gives some leads.
>
> On Thu, Jun 25, 2015 at 7:26 PM, Dan Tenenbaum <dtenenba at fredhutch.org>
> wrote:
>
>>
>>
>> ----- Original Message -----
>> > From: "Hervé Pagès" <hpages at fredhutch.org>
>> > To: "Vladislav Petyuk" <petyuk at gmail.com>, "Dan Tenenbaum" <
>> dtenenba at fredhutch.org>
>> > Cc: Bioc-devel at r-project.org
>> > Sent: Thursday, June 25, 2015 6:56:56 PM
>> > Subject: Re: [Bioc-devel] Challenges with package installation on fresh
>> R
>> >
>> > Hi Vladislav,
>> >
>> > On 06/25/2015 01:13 PM, Vladislav Petyuk wrote:
>> > > Yes, the issue is the same if I use
>> > > devtools::install_github("vladpetyuk/toypack",
>> > > build_vignettes=TRUE,
>> > > dependencies=TRUE)
>> > >
>> > > I posted on Bioc-devel list because all the problematic packages
>> > > are
>> > > suspiciously similar - all related to Bioconductor and deal with
>> > > some sort
>> > > of databases (GO/KEGG/Reactome).
>> >
>> > What all these packages have in common is that we don't provide
>> > binaries
>> > for them anymore. That's because install.packages() (and thus
>> > biocLite(), which uses install.packages() internally) knows how to
>> > deal with this (via type="both", which is now the default on Windows
>> > and Mac). However, some core utilities like
>> > utils::download.packages()
>> > have not been properly adapted to handle the situation where a binary
>> > is missing. For example with R-3.2.1 on Windows:
>> >
>> >    > library(BiocInstaller)
>> >    > download.packages("GO.db", destdir=".",
>> >    > repos=biocinstallRepos())
>> >    trying URL
>> > '
>> http://bioconductor.org/packages/3.2/data/annotation/src/contrib/GO.db_3.1.2
>> '
>> >    Error in download.file(url, destfile, method, mode = "wb", ...) :
>> >      cannot open URL
>> > '
>> http://bioconductor.org/packages/3.2/data/annotation/src/contrib/GO.db_3.1.2
>> '
>> >    In addition: Warning message:
>> >    In download.file(url, destfile, method, mode = "wb", ...) :
>> >      cannot open: HTTP status was '404 Not Found'
>> >    Warning in download.packages("GO.db", destdir = ".", repos =
>> > biocinstallRepos()):
>> >      download of package 'GO.db' failed
>> >         [,1] [,2]
>> >
>> > This could be what breaks install_github() (which doesn't seem to
>> > use install.packages() internally but to instead handle the
>> > downloading
>> > of the packages itself).
>>
>> install_github() calls install() whose documentation says that its ...
>> arguments are passed to install.packages() in order to install
>> dependencies. But I agree that something else seems to be going on here and
>> that devtools decides the packages can't be installed without running
>> install.packages().
>>
>> Dan
>>
>>
>> >
>> > Cheers,
>> > H.
>> >
>> > >
>> > > On Thu, Jun 25, 2015 at 1:08 PM, Dan Tenenbaum
>> > > <dtenenba at fredhutch.org>
>> > > wrote:
>> > >
>> > >>
>> > >>
>> > >> ----- Original Message -----
>> > >>> From: "Vladislav Petyuk" <petyuk at gmail.com>
>> > >>> To: "Dan Tenenbaum" <dtenenba at fredhutch.org>
>> > >>> Cc: Bioc-devel at r-project.org
>> > >>> Sent: Thursday, June 25, 2015 12:55:56 PM
>> > >>> Subject: Re: [Bioc-devel] Challenges with package installation on
>> > >>> fresh R
>> > >>>
>> > >>>
>> > >>> Just added the full output to the README.md file
>> > >>> https://github.com/vladpetyuk/toypack/blob/master/README.md
>> > >>>
>> > >>>
>> > >>
>> > >> Do you get the same results if you do:
>> > >>
>> > >> devtools::install_github("vladpetyuk/toypack",
>> > >> build_vignettes=TRUE,
>> > >> dependencies=TRUE)
>> > >>
>> > >> ?
>> > >>
>> > >> When you pass biocLite() a username/repos argument as you've done,
>> > >> it just
>> > >> delegates all the work to devtools::install_github().
>> > >>
>> > >> If you get the same issue with install_github(), then the issue
>> > >> has
>> > >> nothing to do with Bioconductor and you need to discuss it with
>> > >> the
>> > >> maintainer of devtools.
>> > >> If not, then maybe there is an issue with the way we delegate to
>> > >> that
>> > >> command.
>> > >>
>> > >> Dan
>> > >>
>> > >>
>> > >>>
>> > >>>
>> > >>>
>> > >>> On Thu, Jun 25, 2015 at 12:28 PM, Dan Tenenbaum <
>> > >>> dtenenba at fredhutch.org > wrote:
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>>
>> > >>> ----- Original Message -----
>> > >>>> From: "Vladislav Petyuk" < petyuk at gmail.com >
>> > >>>> To: Bioc-devel at r-project.org
>> > >>>> Sent: Thursday, June 25, 2015 12:16:50 PM
>> > >>>> Subject: [Bioc-devel] Challenges with package installation on
>> > >>>> fresh
>> > >>>> R
>> > >>>>
>> > >>>> Hi all,
>> > >>>> I ran into a problem with dependencies during package
>> > >>>> installation.
>> > >>>> Here is an example that intends to reproduce the problem
>> > >>>>
>> > >>>> https://github.com/vladpetyuk/toypack
>> > >>>>
>> > >>>> Majority of the packages (in Imports/Depends/Suggests and their
>> > >>>> Imports/Depends/Suggests) install just fine.
>> > >>>> However there is a handful of packages ("DO.db", "GO.db",
>> > >>>> "org.Ce.eg.db",
>> > >>>> "org.Hs.eg.db" and "reactome.db") that are being skipped for not
>> > >>>> an
>> > >>>> obvious
>> > >>>> to me reason.
>> > >>>> In this toy example there is no use of those skipped packages.
>> > >>>> So
>> > >>>> it
>> > >>>> won't
>> > >>>> results in any kind of error. But in the real package their lack
>> > >>>> results
>> > >>>> in errors.
>> > >>>>
>> > >>>
>> > >>> You need to provide the complete output of R when you try and
>> > >>> install
>> > >>> the package.
>> > >>> The error is in that output somewhere.
>> > >>>
>> > >>> Dan
>> > >>>
>> > >>>
>> > >>>> Thank you,
>> > >>>> Vlad
>> > >>>>
>> > >>>> [[alternative HTML version deleted]]
>> > >>>>
>> > >>>> _______________________________________________
>> > >>>> Bioc-devel at r-project.org mailing list
>> > >>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> > >>>>
>> > >>>
>> > >>>
>> > >>
>> > >
>> > >     [[alternative HTML version deleted]]
>> > >
>> > > _______________________________________________
>> > > Bioc-devel at r-project.org mailing list
>> > > https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> > >
>> >
>> > --
>> > Hervé Pagès
>> >
>> > Program in Computational Biology
>> > Division of Public Health Sciences
>> > Fred Hutchinson Cancer Research Center
>> > 1100 Fairview Ave. N, M1-B514
>> > P.O. Box 19024
>> > Seattle, WA 98109-1024
>> >
>> > E-mail: hpages at fredhutch.org
>> > Phone:  (206) 667-5791
>> > Fax:    (206) 667-1319
>> >
>>
>
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list