diff options
author | Ricardo Silva <ricardo.d.silva@gmail.com> | 2018-09-12 20:18:41 +0200 |
---|---|---|
committer | scheibelp <scheibel1@llnl.gov> | 2018-09-12 11:18:41 -0700 |
commit | 62977662e93bd8b29f34d5baa1a0d851147085a6 (patch) | |
tree | 9581343e5e971157ec0de53c33a96f64bba34a5b | |
parent | ff13f3953e700c92117314d46bc1a338f817bb6d (diff) | |
download | spack-62977662e93bd8b29f34d5baa1a0d851147085a6.tar.gz spack-62977662e93bd8b29f34d5baa1a0d851147085a6.tar.bz2 spack-62977662e93bd8b29f34d5baa1a0d851147085a6.tar.xz spack-62977662e93bd8b29f34d5baa1a0d851147085a6.zip |
petsc: fix compilation with intel (#9198)
* mpiifort doesn't automatically link all run-time libraries
* scalapack was being picked up accidentaly if intel-mkl was in the spec
-rw-r--r-- | var/spack/repos/builtin/packages/petsc/package.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index a376303e04..07dfb09745 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -186,8 +186,12 @@ class Petsc(Package): compiler_opts = [ '--with-cc=%s' % self.spec['mpi'].mpicc, '--with-cxx=%s' % self.spec['mpi'].mpicxx, - '--with-fc=%s' % self.spec['mpi'].mpifc + '--with-fc=%s' % self.spec['mpi'].mpifc, ] + if self.spec.satisfies('%intel'): + # mpiifort needs some help to automatically link + # all necessary run-time libraries + compiler_opts.append('--FC_LINKER_FLAGS=-lintlc') return compiler_opts def install(self, spec, prefix): @@ -226,8 +230,9 @@ class Petsc(Package): else: options.append('--with-clanguage=C') - # Help PETSc pick up Scalapack from MKL: - if 'scalapack' in spec: + # PETSc depends on scalapack when '+mumps+mpi~int64' (see depends()) + # help PETSc pick up Scalapack from MKL + if spec.satisfies('+mumps+mpi~int64'): scalapack = spec['scalapack'].libs options.extend([ '--with-scalapack-lib=%s' % scalapack.joined(), |