gcc: Ensure matching assembler/binutils on RHEL8 (#33994)
gcc@10: Newer binutils than RHEL7/8's are required to for guaranteed operaton. Therefore, on RHEL7/8, reject ~binutils. You need to add +binutils to be sure to have binutils which are recent enough. See this discussion with the OpenBLAS devs for reference: https://github.com/xianyi/OpenBLAS/issues/3805#issuecomment-1319878852 Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
This commit is contained in:
parent
778dddc523
commit
c601bdf7bf
@ -342,6 +342,14 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage):
|
||||
# Newer binutils than RHEL's is required to run `as` on some instructions
|
||||
# generated by new GCC (see https://github.com/spack/spack/issues/12235)
|
||||
conflicts("~binutils", when="@7: os=rhel6", msg="New GCC cannot use system assembler on RHEL6")
|
||||
# Ditto for RHEL7/8: OpenBLAS uses flags which the RHEL system-binutils don't have:
|
||||
# https://github.com/xianyi/OpenBLAS/issues/3805#issuecomment-1319878852
|
||||
conflicts(
|
||||
"~binutils", when="@10: os=rhel7", msg="gcc: Add +binutils - preinstalled as might be old"
|
||||
)
|
||||
conflicts(
|
||||
"~binutils", when="@10: os=rhel8", msg="gcc: Add +binutils - preinstalled as might be old"
|
||||
)
|
||||
|
||||
# GCC 11 requires GCC 4.8 or later (https://gcc.gnu.org/gcc-11/changes.html)
|
||||
conflicts("%gcc@:4.7", when="@11:")
|
||||
|
Loading…
Reference in New Issue
Block a user