[R-pkg-devel] Strange error from CRAN on package submission

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Wed Nov 11 22:44:09 CET 2020


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



More information about the R-package-devel mailing list