Open mmuurr opened 9 months ago
Did you try to install the Fedora 37 or Fedora 38 build on AL2023?
Some testing on AL2023 (which borrows from Fedora 34, 35, 36, and CentOS 9 Streams!):
Both the Fedora 37 & 38 builds fail to run (with both emitting the error: error while loading shared libraries: libicuuc.so.71: cannot open shared object file: No such file or directory
).
The RHEL 9 build seems to work -- at least in my light testing:
curl
and git
(only) to bootstrap the process.https://cdn.posit.co/r/rhel-9/pkgs/R-4.3.2-1-1.x86_64.rpm
dnf
to install from that RPM, let dnf
resolve dependencies. (Full output of that step included below.)test-r.sh
script; which as far as I can tell (which may not be very far) seemed to execute normally. The full output (if you'd like to inspect) is below.I notice that the OS-detection is looking specifically for Amazon Linux 2, then using "amazon" as the downstream conditional and treating that OS as RHEL/Centos 7, which is mostly correct for Amazon Linux 2.
AL2023 is quite different, however, and the new CPE string is cpe:2.3:o:amazon:amazon_linux:2023
.
This would probably require making a few small changes to the existing "amazon" string in the existing repo to differentiate between the two Amazon distros.
AWS publishes base containers for their Linux distros, so I do think it would be possible to roll these into the standard list for r-builds. I'm wading a tad out of my comfort zone here, but am certainly willing to help where I can and am happy to report back on my continued usage of the RHEL 9 build on AL2023 (i.e. I can report any discovered issues as I encounter them).
@mmuurr Thanks for that testing write-up! Without official AL2023 support, we could at least adjust the quick install script and/or document an AL2023 workaround.
To answer your question on official AL2023 support, the R builds follow Posit's platform support policy, which doesn't include AL2023, and barely covers AL2. From what I understand, there aren't any immediate plans to add AL2023 support because of the low demand, but AL2 has had quite a few requests. So for now, I don't think there will be official AL2023 support, but we could still add an AL2023 build here without full support, as we've done with Fedora.
The platform support mostly just means that Posit products won't support AL2023, e.g., there won't be precompiled binary packages for AL2023 from Package Manager.
Just to follow up on (and add to) @mmuurr's very helpful comment and testing:
I was also able to install the latest version of R on a AL2023 Docker container using the RHEL 9 Posit build endpoint. Similarly, setting the default R package mirror/repo to PPM's rhel-9 binary builds (instead of installing source packages from CRAN) also seems to work well and without a hitch. Tested on a variety of packages from arrow
to glmnet
to tidyverse
. Yay for fast and reliable binary installs!
Important exceptions: I don't think any geospatial libraries (sf
, etc.) will work until the runtime dependencies are supported. See here. Same for Rmarkdown and Quarto since pandoc isn't (won't?) be supported. UPDATE: igraph
is also a no-go due to missing glpk
dependency (here).
I understand of course that AL2023 isn't officially supported by Posit, but this workaround suggests at least some breathing space for R users that need to work on this distro. FWIW there's a pretty strong movement internally at Amazon to move people over to AL2023. (AL2 is causing a bunch of of legacy headaches for different science and production systems.) So I expect that this will translate to increased uptake externally too at some point.
Abbreviated version of my install/test script:
docker pull amazonlinux:2023
docker run -it amazonlinux:2023 /bin/bash
# some system libs
dnf install -y libcurl-devel openssl-devel vim
# Which R version do we want?
R_VER="4.3.3"
# Download from Posit and add to our PATH
curl -O https://cdn.posit.co/r/rhel-9/pkgs/R-${R_VER}-1-1.x86_64.rpm
dnf install -y R-${R_VER}-1-1.x86_64.rpm
echo "export PATH=\$PATH:/opt/R/${R_VER}/bin" >> $HOME/.bashrc
source $HOME/.bashrc
# Set PPM as mirror/repo target for installation of pre-compiled R package binaries
echo 'options(repos = c(PPM = "https://packagemanager.posit.co/cran/__linux__/rhel9/latest"))' >> $HOME/.Rprofile
R
# install.packages("<somepackage>") should work quickly and safely now
Are there any plans to add Amazon Linux 2023 to the list of Linux distros? Most AWS workloads are themselves shifting to this distro but AWS's software repo lags a bit, so it'd be nice to have new R versions for AL2023. The latest pre-built R version distributed by AWS is R 4.1.2; this RPM includes the Makeconf used to produce the binary, which can be used as a template for the build scripts here, if needed. In principle it should be very close to the Fedora 37 & 38 builds (as AL2023 inherits quite a bit from Fedora 34+).
I'm mostly just curious, as I'll likely just build R from source anyhow on my AL2023 AMIs.