Here's what I think is happening.

In the movMF:::.onLoad function there's a test whether flexmix is installed. If found, then it is loaded and some methods are set. (I'm not sure what caused flexmix to be installed: I didn't intentionally install it, but it ended up in there when I installed enough stuff to check Mercator.)

In the R-devel --as-cran checks, some checks are run with only strong dependencies of your package visible. Somehow I think that .onLoad function sees flexmix and loads it, but then some other part of the check can't see it.

A workaround is to add flexmix to your Imports clause. This is a strong enough dependency to make it visible, and the error goes away.

HOWEVER, to me this is pretty clearly an R-devel bug: you have no control over methods set by packages that you don't even use, so you shouldn't have to change your dependency lists if one of them sets a method that you're using.

Duncan Murdoch

On 11/11/2020 3:31 p.m., Kevin R. Coombes wrote:
Oh, I forgot to mention explicitly that checking (with --as-cran) on the
development version of R on Windows also produces no errors or warnings.

On 11/11/2020 1:39 PM, Kevin R. Coombes wrote:
Hi Duncan,

I just sent a longer version of this message, but it looks to me like
the underlying issue is the fact that flexmix and Mercator both define
and export "show" methods for their S4 classes.  What confuses me is
why the NAMESPACE of a package that is merely Suggest'ed by something
several layers down the hierarchy should get attached and cause an
issue like this one. (The attached NAMESPACE happens in current
versions of R.)

Thanks,
   Kevin

On 11/11/2020 1:07 PM, Duncan Murdoch wrote:
Okay, I've tried testing on my Mac with R 4.0.3 and R-devel for the
new one, 4.0.3 for the CRAN version.

I'm not seeing any check error with the CRAN version.  I get an error
trying to check 0.11.4 from R-forge because I don't have flexmix
installed.  If I take flexmix out of the Suggests list, it checks
with no error on 4.0.3, but I get the error you saw on R-devel when
checked with --as-cran.

I tried debugging this, and narrowed it down a bit.  It happens when
your package is installed, in particular in the do_install_source()
function in src/library/tools/R/install.R. But that function runs a
new R instance, and I didn't get to debugging that.  I'll try again
later today if nobody else figures it out.

Duncan Murdoch




On 11/11/2020 12:03 p.m., Kevin R. Coombes wrote:
Hi Duncan,

Oops; I didn't realize I had forgotten to push updates to the OOMPA web
site.

The code for Mercator is contained as part of the Thresher project in
the subversion repository on R-Forge.
(https://r-forge.r-project.org/projects/thresher/) It's under
pkg/Mercator below that URL

Thanks,
     Kevin

On 11/11/2020 11:30 AM, Duncan Murdoch wrote:
Uwe suggested you suggest flexmix, but I see below you already tried
that.

I'd like to take a look, but I can't find your package.  The existing
version on CRAN gives the URL as http://oompa.r-forge.r-project.org/,
but I can't see it mentioned there.

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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel







______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to