rocker-org / rocker

R configurations for Docker
https://rocker-project.org
GNU General Public License v2.0
1.45k stars 273 forks source link

migrate to RSPM binary checkpoint #401

Closed maxheld83 closed 3 years ago

maxheld83 commented 4 years ago

at least for those (future) Ubuntu-based images, I think it'd be awesome to transition to RSPM binary checkpoints with CRAN="https://packagemanager.rstudio.com/all/__linux__/bionic/latest" or something similar.

(This expands on #400)

Especially the rstudio/tidyverse etc. images which are mostly used for analyses, it'd be nice to have a faster (= because bins) and reproducible (= because snappshotted) way to install dependencies.

Granted, the snapshots are less frequent than those on MRAN, but twice a week is still plenty.

Perhaps a backstop to MRAN on the same dates would be a good safeguard (though when that is used, compile time system dependencies would suddenly be required).

Also, I'm aware that there is no guarantee that the RSPM binaries will work on the rocker images, even when based on ubuntu.

The RSPM docs warn:

To use binary packages, an R user or RStudio Server administrator should follow these steps to prepare and configure their environment:

  1. Ensure that R is compatible with the precompiled binary packages. Binary packages distributed by RStudio Package Manager should be compatible with the default R on supported Linux distributions. However, the best way to ensure compatibility is to use the same R installation used to build the binary packages. RStudio provides precompiled R binaries and Docker images for supported Linux distributions:

    • RStudio R Binaries
    • RStudio R Docker Images

But perhaps whatever other differences in environments remain can be overcome or are fairly rare.

Apologies if this is in the wrong repo; I don't quite understand the separation of concerns between rocker repos.

cboettig commented 4 years ago

@maxheld83 yup, thanks, RStudio devs have also contacted us about this and we're looking into it. Version stable binary installs without root, via install.packages, would be very attractive for the rocker-versioned stack. Might be better to discuss in https://github.com/rocker-org/rocker-versioned, which hosts the files you mentioned. (versioned is in transition to ubuntu LTS based images, https://github.com/rocker-org/rocker-versioned2, which now provide latest).

Have you experimented at all with the RSPM repo? In my immediate testing on bionic-based images (e.g. rocker/r-ver:4.0.0-ubuntu18.04) I've only been able to get it to install from source on the checkpoints.

We'll have to unpack a few related issues about compatibility of libraries for certain packages too. Thanks for opening the thread.

cboettig commented 4 years ago

@maxheld83 (of course I'm only now reading your comments on #400 -- whoops, way ahead of me! thanks for the details there, I'll give that a try!)

maxheld83 commented 4 years ago

Have you experimented at all with the RSPM repo? In my immediate testing on bionic-based images (e.g. rocker/r-ver:4.0.0-ubuntu18.04) I've only been able to get it to install from source on the checkpoints.

I have the RSPM binaries running with rocker/rstudio:3.6.3-ubuntu18.04 and that works fine. For testing, I've set up a little reprex https://github.com/maxheld83/rspm-bintest.

cboettig commented 3 years ago

done, tidying up :broom: