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 accepted.

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.dun...@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



______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to