[Rd] Bug in R-devel R CMD check --as-cran (was: [R-pkg-devel] Strange error from CRAN on package submission)

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Thu Nov 12 22:17:02 CET 2020

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.

Duncan Murdoch

On 11/11/2020 8:44 a.m., Kevin R. Coombes wrote:
> Hi,
> 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,
>     Kevin
> 	[[alternative HTML version deleted]]
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

More information about the R-devel mailing list