summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Silva <ricardo.d.silva@gmail.com>2018-09-12 20:18:41 +0200
committerscheibelp <scheibel1@llnl.gov>2018-09-12 11:18:41 -0700
commit62977662e93bd8b29f34d5baa1a0d851147085a6 (patch)
tree9581343e5e971157ec0de53c33a96f64bba34a5b
parentff13f3953e700c92117314d46bc1a338f817bb6d (diff)
downloadspack-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.py11
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(),