R-devel - BiocGenerics - Warning: multiple methods tables found for which
2
0
Entering edit mode
ullrich ▴ 20
@ullrich-23697
Last seen 2.5 years ago
Germany

Hi, since two days one of my R packages get an travis.ci error using the R-devel, due to my settings "warningsareerrors: true". The warning is as follows: Warning: multiple methods tables found for ‘which’ I already changed the which into base::which function, which did not resolve the warning. Do any of you have a clue why since two days this warning is coming up? In May everything compiled without any warnings. Best regards and thank you in anticipation Kristian Ullrich

BioGenerics warning • 2.7k views
ADD COMMENT
0
Entering edit mode

Hi, I am just posting what Travis CI output is showing for R-devel. It seems that there are some packages which have newer versions and these are installed. This was not happening in May.

$ Rscript -e 'deps <- remotes::dev_package_deps(dependencies = NA);remotes::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) { message("missing: ", paste(setdiff(deps$package, installed.packages()), collapse=", ")); q(status = 1, save = "no")}'
BiocGenerics (0.35.2  -> 0.35.4 ) [CRAN]
rmarkdown    (2.1     -> 2.2    ) [CRAN]
mvtnorm      (1.1-0   -> 1.1-1  ) [CRAN]
htmltools    (0.4.0   -> 0.5.0  ) [CRAN]
httpuv       (1.5.3.1 -> 1.5.4  ) [CRAN]
later        (1.0.0   -> 1.1.0.1) [CRAN]
promises     (1.1.0   -> 1.1.1  ) [CRAN]
vctrs        (0.3.0   -> 0.3.1  ) [CRAN]
pkgload      (1.0.2   -> 1.1.0  ) [CRAN]

Now during the install process of BiocGeneric I can see the which.min and which.max function being set as new generic functions. However, the which function is not among them. Might this be the problem of the initial issue "Warning: multiple methods tables found for 'which'"?

* installing *source* package ‘BiocGenerics’ ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Creating a new generic function for ‘append’ in package ‘BiocGenerics’
Creating a new generic function for ‘as.data.frame’ in package ‘BiocGenerics’
Creating a new generic function for ‘cbind’ in package ‘BiocGenerics’
Creating a new generic function for ‘rbind’ in package ‘BiocGenerics’
Creating a new generic function for ‘do.call’ in package ‘BiocGenerics’
Creating a new generic function for ‘duplicated’ in package ‘BiocGenerics’
Creating a new generic function for ‘anyDuplicated’ in package ‘BiocGenerics’
Creating a new generic function for ‘eval’ in package ‘BiocGenerics’
Creating a new generic function for ‘pmax’ in package ‘BiocGenerics’
Creating a new generic function for ‘pmin’ in package ‘BiocGenerics’
Creating a new generic function for ‘pmax.int’ in package ‘BiocGenerics’
Creating a new generic function for ‘pmin.int’ in package ‘BiocGenerics’
Creating a new generic function for ‘Reduce’ in package ‘BiocGenerics’
Creating a new generic function for ‘Filter’ in package ‘BiocGenerics’
Creating a new generic function for ‘Find’ in package ‘BiocGenerics’
Creating a new generic function for ‘Map’ in package ‘BiocGenerics’
Creating a new generic function for ‘Position’ in package ‘BiocGenerics’
Creating a new generic function for ‘get’ in package ‘BiocGenerics’
Creating a new generic function for ‘mget’ in package ‘BiocGenerics’
Creating a new generic function for ‘grep’ in package ‘BiocGenerics’
Creating a new generic function for ‘grepl’ in package ‘BiocGenerics’
Creating a new generic function for ‘is.unsorted’ in package ‘BiocGenerics’
Creating a new generic function for ‘lapply’ in package ‘BiocGenerics’
Creating a new generic function for ‘sapply’ in package ‘BiocGenerics’
Creating a new generic function for ‘mapply’ in package ‘BiocGenerics’
Creating a new generic function for ‘match’ in package ‘BiocGenerics’
Creating a new generic function for ‘order’ in package ‘BiocGenerics’
Creating a new generic function for ‘paste’ in package ‘BiocGenerics’
Creating a new generic function for ‘rank’ in package ‘BiocGenerics’
Creating a new generic function for ‘rownames’ in package ‘BiocGenerics’
Creating a new generic function for ‘colnames’ in package ‘BiocGenerics’
Creating a new generic function for ‘union’ in package ‘BiocGenerics’
Creating a new generic function for ‘intersect’ in package ‘BiocGenerics’
Creating a new generic function for ‘setdiff’ in package ‘BiocGenerics’
Creating a new generic function for ‘sort’ in package ‘BiocGenerics’
Creating a new generic function for ‘table’ in package ‘BiocGenerics’
Creating a new generic function for ‘tapply’ in package ‘BiocGenerics’
Creating a new generic function for ‘unique’ in package ‘BiocGenerics’
Creating a new generic function for ‘unsplit’ in package ‘BiocGenerics’
Creating a new generic function for ‘var’ in package ‘BiocGenerics’
Creating a new generic function for ‘sd’ in package ‘BiocGenerics’
Creating a new generic function for ‘which.min’ in package ‘BiocGenerics’
Creating a new generic function for ‘which.max’ in package ‘BiocGenerics’
Creating a new generic function for ‘IQR’ in package ‘BiocGenerics’
...
ADD REPLY
0
Entering edit mode

Here is the output from R-release if one loads the BiocGenerics package:

Attaching package: ‘BiocGenerics’

The following objects are masked from ‘package:parallel’:

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from ‘package:stats’:

    IQR, mad, sd, var, xtabs

The following objects are masked from ‘package:base’:

    anyDuplicated, append, as.data.frame, basename, cbind, colnames,
    dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
    grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
    order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
    rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
    union, unique, unsplit, which, which.max, which.min

and here from R-devel:

Attaching package: ‘BiocGenerics’

The following objects are masked from ‘package:parallel’:

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from ‘package:stats’:

    IQR, mad, sd, var, xtabs

The following objects are masked from ‘package:base’:

    anyDuplicated, append, as.data.frame, basename, cbind, colnames,
    dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
    grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
    order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
    rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
    union, unique, unsplit, which.max, which.min

Again the which function is missing in the R-devel as compared to the R-release.

ADD REPLY
0
Entering edit mode
ADD REPLY
0
Entering edit mode
@herve-pages-1542
Last seen 3 days ago
Seattle, WA, United States

Hi,

You should not be using R-devel. The current devel version of Bioconductor (BioC 3.12) is only supported on R 4.0.

See https://support.bioconductor.org/p/131689/ for a discussion of the which issue.

Your TravisCI setup is very likely not using the latest versions of all packages but it's impossible to tell because you're not showing the output of sessionInfo().

In BioC 3.12, loading BiocGenerics no longer displays that which is set as a new generic function. This is as expected.

H.

ADD COMMENT
0
Entering edit mode

Hi,

as fas as I understood R-devel is for testing, if everything compiles and to find bugs in future versions.

I will attach the travis.yml file and try to add the installation of the latest package versions. Maybe you can give a hint how to do that efficiently.

Thank you in anticipation

Best regards

Kristian

language: r cache: packages warningsareerrors: true biocrequired: true biocpackages: - Biostrings os: linux dist: bionic beforeinstall: - sudo apt-get update - sudo apt-get -y install libcurl4-openssl-dev libssl-dev libxml2-dev pandoc libglu1-mesa-dev rpackages: - devtools - testthat - seqinr - foreach - doMC - magrittr - mclust - feature r: - release - devel

ADD REPLY
0
Entering edit mode

I will of course also try to add a line to get directly the sessionInfo() from travis CI.

ADD REPLY
0
Entering edit mode
language: r
cache: packages
warnings_are_errors: true
bioc_required: true
bioc_packages:
   - Biostrings
os: linux
dist: bionic
before_install:
  - sudo apt-get update
  - sudo apt-get -y install libcurl4-openssl-dev libssl-dev libxml2-dev pandoc libglu1-mesa-dev
r_packages:
  - devtools
  - testthat
  - seqinr
  - foreach
  - doMC
  - magrittr
  - mclust
  - feature
r:
  - release
  - devel

ADD REPLY
0
Entering edit mode

as fas as I understood R-devel is for testing

Not for testing BioC 3.12. BioC 3.12 only targets R 4.0. This means that when we release it (in Fall) we will have it tested and validated against R 4.0. This will remain the target for its entire life cycle. At some point, when R devel diverges enough from R 4.0, testing BioC 3.12 against R-devel will produce errors and these errors will be expected. We won't fix them in BioC 3.12, only in BioC 3.13, but that will only be possible when we start the BioC 3.13 devel cycle (in Fall, after the BioC 3.12 release).

In other words testing BioC 3.12 against R-devel is meaningless and a waste of time and resources.

ADD REPLY
0
Entering edit mode
ullrich ▴ 20
@ullrich-23697
Last seen 2.5 years ago
Germany

Here is now a trvis.yml that now works fine and build without errors. Issue can be closed.

language: r
cache: packages
warnings_are_errors: true
bioc_required: true
bioc_packages:
   - DelayedArray
   - BiocGenerics
   - Biostrings
os: linux
dist: bionic
before_install:
  - sudo apt-get update
  - sudo apt-get -y install libcurl4-openssl-dev libssl-dev libxml2-dev pandoc libglu1-mesa-dev
before_script:
  - R -e "sessionInfo()"
r_packages:
  - devtools
  - testthat
  - seqinr
  - foreach
  - doMC
  - magrittr
  - mclust
  - feature
r:
  - release
  - devel

ADD COMMENT

Login before adding your answer.

Traffic: 428 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6