I support the R package, which recently started throwing the following warning during the R CMD check packagename :
** testing if installed package can be loaded Warning: multiple methods tables found for 'append'
(The package is called phyloseq , and the branch that is currently causing me this problem is here )
Refined Subqueries:
- So, the “multiple methods” part, this apparently means that I have two dependent collision packages with a distribution collision for the
append method. Right?
- I do not have a function / method named
"append" in this package and do not import.
- I was able to play a warning message in a new R session by simply loading two of the packages in R at the same time, one of which ( RJSONIO ) is a second-level dependency, by which I mean one of my dependencies ( biom ) depends on it, but not mine:
library("RJSONIO");library("Biostrings")
What triggers the warning in the R session:
multiple methods tables found for 'append'
And of course, append exported to the NAMESPACE file of both RJSONIO and Biostrings . I do not understand why this should cause a problem when downloading my package. The packages that I directly depend on (Biostrings-2.28.0, biom-0.3.8) are not fully imported - of course, without importing any append methods. How else could this conflict arise?
Bypass
If I upgrade Biostrings to version "devel", 2.29.2, then a warning appears. However, most users will not do this, and I would still like to understand how this collision is even possible, given that I specially imported functions and classes from these packages, and not full Import or Depends .
source share