Bug in R-devel R CMD check --as-cran (was: [R-pkg-devel] Strange error from CRAN on package submission)
I believe the message below on the R-package-devel list is due to a bug
in R-devel. The bug doesn't seem to be present in R 4.0.3.
Here's the issue:
The Mercator package Depends on Thresher, which Imports movMF, which
Suggests flexmix. In the .onLoad code for movMF, it checks whether
flexmix is available, and if so, loads it.
Since flexmix sets a method on plot(), its namespace is referred to from
the plot() method table.
During R CMD check --as-cran Mercator.0.11.4, in the step
* checking whether package ‘Mercator’ can be installed ...
R prints this warning:
Warning: namespace 'flexmix' is not available and has been replaced
by .GlobalEnv when processing object '<unknown>'
I believe this message happens when R CMD check is seeing whether the
package can be installed without undeclared recommended packages. When
it tries to load the flexmix namespace in the movMF .onLoad() function,
it fails, because it can't see "nnet". Normally it doesn't worry if a
dependency is declared, but it misses the flexmix declaration of a
dependency on nnet, presumably because flexmix got loaded in an unusual way.
This is fairly old code, so I'm not sure what change triggered the
error. I suppose I could bisect commits to find it, but not today.
On 11/11/2020 8:44 a.m., Kevin R. Coombes wrote:
> I am trying to figure out how to fix warnings from two of the CRAN
> machines on the submission of an update to a package. The only change to
> my package was to add a "show" method to one of the S4 classes, which
> was requested by a reviewer of the paper we submitted. The inability to
> get this updated package into CRAN is the only thing holding up the
> revision (and probable acceptance) of the manuscript.
> The same "warnings"s were found in the previous version. The package is
> called Mercator, and the CRAN check results from the last version are here:
> https://cran.r-project.org/web/checks/check_results_Mercator.html >
> I get warnings from the two fedora machine instances (clang and gcc).
> They both report
>> Check: whether package can be installed.
>> Result: WARN
>> Found the following significant warnings:
>> Warning: namespace ‘flexmix’ is not available and has been replaced
> > Check: data for non-ASCII characters
>> Result: WARN
>> Warning: namespace 'flexmix' is not available and has been replaced
>> by .GlobalEnv when processing object '<unknown>'
> The relationships in the DESCRIPTION files are:
> 1. Mercator depends on Thresher
> 2. Thresher imports moVMF
> 3. moMVF suggests flexmix
> On my Windows machine, the package builds and installs with no errors or
> warnings even if flexmix is not available (which I believe to be the
> correct behavior). On R-Forge, both the Windows and LINUX versions build
> and install with no errors or warnings. On R-Hub, tested on multiple
> LINUX versions, the package builds and installs with no errors or warnings.
> And flexmix is still clearly available from CRAN:
> https://cran.r-project.org/web/packages/flexmix/index.html >
> In the latest attempt to get things to work, I added
> Suggests: flexmix
> into the DESCRIPTION file for Mercator, but this didn't help fix the
> problem on CRAN.
> Is there anything I can do to fix this problem (other than moan here on
> this list and hope that CRAN can just install flexmix on those machines)?
> Thanks in advance for your help,
> [[alternative HTML version deleted]]
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel >