[R-pkg-devel] how to specify to let a package only build 64bit on CRAN

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Mon May 11 14:55:13 CEST 2020

On 11/05/2020 8:46 a.m., Jan Wijffels wrote:
> Duncan,
> Thanks for the reply. Let me make this more clear.
> The R package reticulate works on 32bit and 64bit. My golgotha package depends on reticulate and an extra Python package called torch which is not available for 32bit platforms. This is specified in the DESCRIPTION file at https://github.com/bnosac/golgotha/blob/master/DESCRIPTION#L17
> For that reason R CMD check will fail on CRAN for 32bit. Hence my question. How do I specify this in the package such that I can distribute it on CRAN.

I don't think there's a formal way to state that, and there shouldn't 
be.  Maybe some day someone will make 32 bit torch available, and then 
your restriction would be unnecessary.  Just state the current situation 
in your submission comments.  You may get an automatic rejection because 
of the build failure, then follow the instructions for getting a human 
to look at things.

It's possible that CRAN will not be flexible on this, because it aims 
for wide portability of the packages it hosts.  However, 32 bit systems 
are less and less common, so a good argument about why your package is 
useful even if not usable on some old systems would probably get it 

Duncan Murdoch

> best,
> Jan
> Jan Wijffels
> Statistician
> www.bnosac.be  | +32 486 611708
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Monday 11 May 2020 14:39, Duncan Murdoch <murdoch.duncan using gmail.com> wrote:
>> On 11/05/2020 7:54 a.m., Jan Wijffels wrote:
>>> Hello everyone,
>>> I have a package which I would like to host on CRAN. The package is at https://github.com/bnosac/golgotha
>>> The package only builds on 64bit however because the package uses R package reticulate which requires a python library called torch which does not build on 32 bit platforms.
>>> So installation only works using INSTALL_opts = "--no-multiarch"
>>> How do you specify this to the CRAN maintainers that this is the way it should be set up on CRAN such that it only is built for 64bit systems.
>> I don't see how your package has any 32 bit dependence, since it has no
>> src directory. It's probably sufficient to declare the dependency on
>> reticulate, which indirectly implies the 32 bit dependence. But if
>> reticulate works on 32 bit systems as long as users don't need "torch",
>> then just state that.
>> One thing I'd recommend: you should try to change the dependency from
>> Depends to Imports. If there are a few reticulate functions that you
>> want your users to have access to, you can import them and re-export
>> them so they're available from your package as well.
>> Duncan

More information about the R-package-devel mailing list