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