diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/openblas/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/openblas/package.py | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py index c1a0c1e01b..61a530b37f 100644 --- a/var/spack/repos/builtin/packages/openblas/package.py +++ b/var/spack/repos/builtin/packages/openblas/package.py @@ -95,7 +95,7 @@ class Openblas(MakefilePackage): patch('openblas-0.3.8-darwin.patch', when='@0.3.8 platform=darwin') # Fix ICE in LLVM 9.0.0 https://github.com/xianyi/OpenBLAS/pull/2329 # Patch as in https://github.com/xianyi/OpenBLAS/pull/2597 - patch('openblas_appleclang11.patch', when='@0.3.8:0.3.9 %clang@11.0.3-apple') + patch('openblas_appleclang11.patch', when='@0.3.8:0.3.9 %apple-clang@11.0.3') # Add conditions to f_check to determine the Fujitsu compiler patch('openblas_fujitsu.patch', when='%fj') @@ -105,6 +105,9 @@ class Openblas(MakefilePackage): conflicts('+consistent_fpcsr', when='threads=none', msg='FPCSR consistency only applies to multithreading') + conflicts('threads=openmp', when='%apple-clang', msg="Apple's clang does not support OpenMP") + conflicts('threads=openmp @:0.2.19', when='%clang', msg='OpenBLAS @:0.2.19 does not support OpenMP with clang!') + @property def parallel(self): # unclear whether setting `-j N` externally was supported before 0.3 @@ -120,18 +123,6 @@ class Openblas(MakefilePackage): 'OpenBLAS requires both C and Fortran compilers!' ) - # Add support for OpenMP - if (self.spec.satisfies('threads=openmp') and - self.spec.satisfies('%clang')): - if str(self.spec.compiler.version).endswith('-apple'): - raise InstallError("Apple's clang does not support OpenMP") - if '@:0.2.19' in self.spec: - # Openblas (as of 0.2.19) hardcoded that OpenMP cannot - # be used with any (!) compiler named clang, bummer. - raise InstallError( - 'OpenBLAS @:0.2.19 does not support OpenMP with clang!' - ) - @staticmethod def _read_targets(target_file): """Parse a list of available targets from the OpenBLAS/TargetList.txt |