HI Uwe,
That might be the key observation. The change to Mercator in this
package was to add a "show" method to an S4 class. In its NAMESPACE, the
flexmix package also exports a "show" method.
Both "flexmix" and "Mercator" have an
import("methods")
directive in their NAMESPACE files, which is where the base method for
"show" comes from. Also, if you just type show at the command prompt to
see the definition, you get the parenthetical note that
"(This generic function excludes non-simple inheritance' see ?setIs.)"
I don't completely understand what this parenthetical remark means, but
I have a suspicion that it is highly relevant to my problem.
If I run
library("Mercator")
showMethods("show")
on a system where flexmix is installed, then the "show" method for
flexmix (and related objects) is listed, because the flexmix NAMESPACE
has been attached. If I run the same code on an R system where flexmix
is not installed, then, of course, neither the NAMESPACE nor the method
is available.
I suspect (but am by no means certain) that the combination of that
parenthetical remark above and the existence of the "show" method in the
suggested package is why I am getting errors on some systems.
But I don't really understand why. My package doesn't need the flexmix
version of show. And (as Uwe said in an earlier comment), I thought that
"Suggests" isn't supposed to be inherited. I don't want the flexmix
NAMESPACE attached, since nothing in my package nor in the packages I
directly want (Thresher by "Depends" and then moVMF by "Imports")
actually requires it.
Why does the flexmix NAMESPACE get attached if some other package down
the line merely suggests it? Is that supposed to happen? To me, it feels
like a bug in the sense that it surprises the user (i.e., the package
developer). And I guess is potentially a bug for the ultimate user of
the package, since it adds a NAMESPACE that was not specifically
requested by the top level package being loaded.
In any event, what's the best advice now on how to proceed?
Thanks again,
Kevin
On 11/11/2020 11:34 AM, Uwe Ligges wrote:
Next guess is that you need more, because you may have an object that
needs the flexmix, so likely something S4 related? I can take a closer
look.
Best,
Uwe Ligges
On 11.11.2020 17:30, 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
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel