diff options
author | Tiziano Müller <tiziano.mueller@hpe.com> | 2022-03-08 19:32:15 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-08 19:32:15 +0100 |
commit | 94ce7f504096400c6969f811525bd9aeac6667a1 (patch) | |
tree | d5c8d7dd56a2efb35e710e9086a2dfb9bdecd958 /var/spack/repos/builtin/packages/cp2k | |
parent | 5bea24526f4ee27d94f5ce9d61d63babbc05bc38 (diff) | |
download | spack-94ce7f504096400c6969f811525bd9aeac6667a1.tar.gz spack-94ce7f504096400c6969f811525bd9aeac6667a1.tar.bz2 spack-94ce7f504096400c6969f811525bd9aeac6667a1.tar.xz spack-94ce7f504096400c6969f811525bd9aeac6667a1.zip |
cray-libsci/cp2k: add constraints to get consistently linked executables (#29396)
* cray-libsci: only be a provider for scalapack with +mpi
If a package explicitly links the scalapack provider we might otherwise end up with different variants of libsci being linked: the explicitly linked one and the one added by the Cray compiler wrappers.
* cp2k: require cray-libsci+openmp with +openmp for consistency
otherwise we might get 2 different libsci linked: one explicitly, the other one via the Cray compiler wrappers, leading at least to segfaults during cleanup
* cp2k: depend on cray-fftw+openmp with +openmp
Diffstat (limited to 'var/spack/repos/builtin/packages/cp2k')
-rw-r--r-- | var/spack/repos/builtin/packages/cp2k/package.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py index ddae41db19..f148db7f48 100644 --- a/var/spack/repos/builtin/packages/cp2k/package.py +++ b/var/spack/repos/builtin/packages/cp2k/package.py @@ -83,7 +83,12 @@ class Cp2k(MakefilePackage, CudaPackage): with when('+openmp'): depends_on('fftw+openmp', when='^fftw') depends_on('amdfftw+openmp', when='^amdfftw') + depends_on('cray-fftw+openmp', when='^cray-fftw') depends_on('openblas threads=openmp', when='^openblas') + # The Cray compiler wrappers will automatically add libsci_mp with + # -fopenmp. Since CP2K unconditionally links blas/lapack/scalapack + # we have to be consistent. + depends_on('cray-libsci+openmp', when='^cray-libsci') with when('smm=libxsmm'): depends_on('libxsmm@1.17:~header-only', when='@9.1:') |