Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add R builds for RHEL 9 #133

Merged
merged 4 commits into from
Aug 19, 2022
Merged

Add R builds for RHEL 9 #133

merged 4 commits into from
Aug 19, 2022

Conversation

glin
Copy link
Contributor

@glin glin commented Aug 17, 2022

Add R builds for RHEL 9, based on Rocky Linux 9. This was mostly copied over from the centos-8 (Rocky 8) build, with a few differences to note:

  • The platform name is now "rhel-9" since we officially only support RHEL, not the RHEL derivatives. Rocky Linux and AlmaLinux are still mentioned in the README because the installation steps differ vs. RHEL.
  • EPEL is now required to install R again, for OpenBLAS and texinfo. Rocky/Alma have replaced PowerTools with the CodeReady Builder repo as a requirement to use EPEL.
  • R is now configured with Java 11 instead of Java 8 by default, as Java 8 is EOL. JAVA_HOME is explicitly set to a major-versioned path to make Java configuration easier on users, based on @michaelmayer2's work in update builder (Docker and package files for better java support) #113.
  • Some RPM fields are corrected after checking with rpmlint, like Existing .deb packages generate many warnings and errors from the linter #119 suggests:
    • added https to URL, https://www.r-project.org
    • wrapped maintainer field in brackets, RStudio, PBC <https://github.com/rstudio/r-builds>
    • corrected the invalid GPL-2 license field to the RPM standard GPLv2+
  • Added more doc comments to make future maintenance easier, like how we link against BLAS.

I've run a test workflow with the full matrix of R versions at https://github.com/rstudio/r-builds/actions/runs/2878921915

Comment on lines +11 to +27
# Create post-install script required for OpenBLAS.
#
# On RHEL and SUSE, we link R against the internal shared BLAS to make the
# R binaries more portable and allow users to switch BLAS implementations without
# having to recompile R. We default to OpenBLAS, but users may prefer other implementations.
#
# Binary packages built against the shared BLAS are also more portable and may be used
# with the default R distributed by RHEL/SUSE, or other R installations using
# shared BLAS and configured with a different BLAS (such as Microsoft R Open with MKL).
# This is especially important for RSPM's binary packages.
#
# On Ubuntu/Debian, we link R against the external BLAS instead (--with-blas/--with-lapack),
# as those distributions use the alternatives system to swap BLAS libraries at runtime.
# The default R distributions on Ubuntu/Debian use the external BLAS, so we do as well
# for portability.
#
# https://cran.r-project.org/doc/manuals/r-release/R-admin.html#Shared-BLAS
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaelmayer2 I've added some docs to explain how we configure BLAS here (#132)

I'll add a similar comment to the openSUSE 15.4 build as well. I didn't copy these over to the previous CentOS versions since we usually just add new platforms based off the most recent version of that distro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants