From 6550aeeafcacad6bba5e4b44e130fd3b40e42bdd Mon Sep 17 00:00:00 2001 From: Darach Golden Date: Wed, 28 Jun 2017 19:22:18 +0100 Subject: Requested changes related to mumps compilation (#4614) * * add mpii* wrappers for use with intel compilers * in mumps package, scotch is compiled without metis option when ptscotch variant is selected. This removes confusion over which metis.h to use * for intel mkl, add SPACK_COMPILER_EXTRA_RPATHS ending in 'intel64' * scotch lib requires libz when compression is turned on. This caused a link issue on some Ubuntu distributions (not redhat). Change Scotch package to add -lz when needed * * intel-mkl append to SPACK_COMPILER_EXTRA_RPATHS rather than setting * use more concise method to obtain libz libraries for scotch * remove changes to intel mpi * remove commented out depends_on * fix flake8 errors --- var/spack/repos/builtin/packages/intel-mkl/package.py | 2 ++ var/spack/repos/builtin/packages/mumps/package.py | 4 ++-- var/spack/repos/builtin/packages/scotch/package.py | 7 ++++++- 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/intel-mkl/package.py b/var/spack/repos/builtin/packages/intel-mkl/package.py index e1b4049ef8..4eaf50dea5 100644 --- a/var/spack/repos/builtin/packages/intel-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-mkl/package.py @@ -142,6 +142,8 @@ class IntelMkl(IntelInstaller): def setup_dependent_environment(self, spack_env, run_env, dependent_spec): # set up MKLROOT for everyone using MKL package spack_env.set('MKLROOT', self.prefix) + spack_env.append_path('SPACK_COMPILER_EXTRA_RPATHS', + join_path(self.prefix.lib, 'intel64')) def setup_environment(self, spack_env, run_env): run_env.set('MKLROOT', self.prefix) diff --git a/var/spack/repos/builtin/packages/mumps/package.py b/var/spack/repos/builtin/packages/mumps/package.py index 9d74ec4b6f..60a46723c4 100644 --- a/var/spack/repos/builtin/packages/mumps/package.py +++ b/var/spack/repos/builtin/packages/mumps/package.py @@ -61,7 +61,7 @@ class Mumps(Package): variant('shared', default=True, description='Build shared libraries') depends_on('scotch + esmumps', when='~ptscotch+scotch') - depends_on('scotch + esmumps + mpi', when='+ptscotch') + depends_on('scotch + esmumps ~ metis + mpi', when='+ptscotch') depends_on('metis@5:', when='+metis') depends_on('parmetis', when="+parmetis") depends_on('blas') @@ -160,7 +160,7 @@ class Mumps(Package): 'FC = {0}'.format(self.spec['mpi'].mpifc), "SCALAP = %s" % scalapack.ld_flags, "MUMPS_TYPE = par"]) - if (self.spec.satisfies('%xl_r' or '%xl')) and self.spec.satisfies('^spectrum-mpi'): # noqa + if (self.spec.satisfies('%xl_r' or '%xl')) and self.spec.satisfies('^spectrum-mpi'): # noqa makefile_conf.extend( ['FL = {0}'.format(self.spec['mpi'].mpicc)]) else: diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py index c776e8560d..8071a9765f 100644 --- a/var/spack/repos/builtin/packages/scotch/package.py +++ b/var/spack/repos/builtin/packages/scotch/package.py @@ -81,6 +81,7 @@ class Scotch(Package): shared = '+shared' in self.spec libraries = ['libscotch', 'libscotcherr'] + zlibs = [] if '+mpi' in self.spec: libraries = ['libptscotch', 'libptscotcherr'] + libraries @@ -89,9 +90,13 @@ class Scotch(Package): elif '~mpi+esmumps' in self.spec: libraries = ['libesmumps'] + libraries - return find_libraries( + scotchlibs = find_libraries( libraries, root=self.prefix, recurse=True, shared=shared ) + if '+compression' in self.spec: + zlibs = self.spec['zlib'].libs + + return scotchlibs + zlibs def patch(self): self.configure() -- cgit v1.2.3-70-g09d2