summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKelly Thompson <KineticTheory@users.noreply.github.com>2016-10-11 01:42:59 -0600
committerTodd Gamblin <tgamblin@llnl.gov>2016-10-11 00:42:59 -0700
commit1891ce35459f2f402effae2d7a8094bd0df49bc1 (patch)
treed31cfc1467b2d05542bd87f74db90974afd5e41f
parentb1a2728af691a42f4c7e9a923d3bd242bee8fd7b (diff)
downloadspack-1891ce35459f2f402effae2d7a8094bd0df49bc1.tar.gz
spack-1891ce35459f2f402effae2d7a8094bd0df49bc1.tar.bz2
spack-1891ce35459f2f402effae2d7a8094bd0df49bc1.tar.xz
spack-1891ce35459f2f402effae2d7a8094bd0df49bc1.zip
Trilinos: Use more flexible option for locating the BLAS library directory. (#1987)
+ This change fixes a problem that manifests when trilinos is built against a MKL installation defined as an external package. In this scenario, the MKL libraries are found one directory deeper than for the case where spack provides MKL. The extra directory is a platform name like 'intel64'. + The changes in this PR were recommended by contributor @davydden. I implemented and tested with intel@16.0.3. These changes fix the issue I reported. I did not attempt building trilinos against other BLAS implementations. + fixes #1923
-rw-r--r--var/spack/repos/builtin/packages/mkl/package.py7
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py4
2 files changed, 2 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/mkl/package.py b/var/spack/repos/builtin/packages/mkl/package.py
index 8a31858bf5..4a9a8785f7 100644
--- a/var/spack/repos/builtin/packages/mkl/package.py
+++ b/var/spack/repos/builtin/packages/mkl/package.py
@@ -66,13 +66,6 @@ class Mkl(IntelInstaller):
for f in os.listdir(mkl_dir):
os.symlink(os.path.join(mkl_dir, f), os.path.join(self.prefix, f))
- # Unfortunately MKL libs are natively distrubted in prefix/lib/intel64.
- # To make MKL play nice with Spack, symlink all files to prefix/lib:
- mkl_lib_dir = os.path.join(prefix, "lib", "intel64")
- for f in os.listdir(mkl_lib_dir):
- os.symlink(os.path.join(mkl_lib_dir, f),
- os.path.join(self.prefix, "lib", f))
-
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)
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 203e1502d6..4c7a94ce3f 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -149,10 +149,10 @@ class Trilinos(Package):
'-DMPI_BASE_DIR:PATH=%s' % spec['mpi'].prefix,
'-DTPL_ENABLE_BLAS=ON',
'-DBLAS_LIBRARY_NAMES=%s' % ';'.join(blas.names),
- '-DBLAS_LIBRARY_DIRS=%s' % spec['blas'].prefix.lib,
+ '-DBLAS_LIBRARY_DIRS=%s' % ';'.join(blas.directories),
'-DTPL_ENABLE_LAPACK=ON',
'-DLAPACK_LIBRARY_NAMES=%s' % ';'.join(lapack.names),
- '-DLAPACK_LIBRARY_DIRS=%s' % spec['lapack'].prefix.lib,
+ '-DLAPACK_LIBRARY_DIRS=%s' % ';'.join(lapack.directories),
'-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON',
'-DTrilinos_ENABLE_CXX11:BOOL=ON',
'-DTPL_ENABLE_Netcdf:BOOL=ON',