Allow RHEL RPMs to work on UBI 9/10: make flexiblas-devel a weak dependency - #329
Merged
Conversation
A hard dependency on flexiblas-devel made the R RPM uninstallable on UBI 9/10,
because flexiblas-devel lives in CodeReady Builder and the UBI CRB repo is a
redistributable subset that does not include it. Red Hat closed RHEL-5411
("flexiblas-devel in ubi-9-codeready-builder") as Done in Oct 2024, but the
package is still absent from the public UBI CRB content.
Split the dependency:
- flexiblas-netlib becomes the hard runtime dependency. R linked with
--with-blas=flexiblas records a loader dependency on libflexiblas.so.3, and on
RHEL/Rocky 9 that SONAME is provided by flexiblas-netlib, not the flexiblas
front-end package (which does not pull netlib in). Depending on flexiblas
alone leaves R unable to load libflexiblas.so.3 once weak deps are disabled.
flexiblas-netlib is in AppStream on both RHEL and UBI, so this stays
installable on UBI. RHEL 10's flexiblas pulls netlib in already, but we depend
on the SONAME provider directly to keep both versions aligned.
- flexiblas-devel becomes a weak (Recommends) dependency, needed only to compile
BLAS-linked R packages from source. dnf auto-installs it on full RHEL/Rocky
where CRB provides it and silently skips it on UBI rather than failing.
Add a regression check to the RHEL 9/10 integration test that reproduces the
UBI environment by installing with weak dependencies disabled. It asserts the
RPM declares flexiblas-devel as a weak Recommends, still installs,
flexiblas-netlib (the SONAME provider) is present, flexiblas-devel is skipped,
and R runs and uses BLAS at runtime.
#212
https://issues.redhat.com/browse/RHEL-5411
bschwedler
approved these changes
Jul 16, 2026
Member
Author
|
@bschwedler RHEL 9/10 binaries now rebuilt with this fix! |
This was referenced Aug 5, 2026
This was referenced Aug 12, 2026
Draft
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #212
UBI 9/10 never added flexiblas-devel to CRB even though our bug tracker issues were closed. Since BLAS development headers are optional for R, only included in our builds because a lot of R packages need it to compile from source, we can switch the
flexiblas-develpackage to a weak RPM dependency so R at least installs.Tests added here, and I also verified in
rockylinux:9andregistry.access.redhat.com/ubi9/ubiimages that the new R RPM installs fine in both, and that the RHEL 9 installation includes flexiblas-devel:Note that I didn't do anything about
openblas-develwhich we use in R <= 4.2 on RHEL 9 for legacy compatibility reasons. We could if needed, but R 4.2 is EOL in like 9 months, so I didn't think it was worth it.