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:
		| @@ -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:") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Bernhard Kaindl
					Bernhard Kaindl