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

Reply via email to