diff options
author | Elizabeth F <rpf2116@columbia.edu> | 2016-03-09 00:18:20 -0500 |
---|---|---|
committer | Elizabeth F <rpf2116@columbia.edu> | 2016-03-09 00:27:25 -0500 |
commit | 5b22873b3dce37c0d7bad418bf6e0b73d381d19e (patch) | |
tree | da180e9bc5d34796b6e937b92b9d356b60e35c59 | |
parent | 21181075b40367b3fa9891c51930c7aedcfab4bf (diff) | |
download | spack-5b22873b3dce37c0d7bad418bf6e0b73d381d19e.tar.gz spack-5b22873b3dce37c0d7bad418bf6e0b73d381d19e.tar.bz2 spack-5b22873b3dce37c0d7bad418bf6e0b73d381d19e.tar.xz spack-5b22873b3dce37c0d7bad418bf6e0b73d381d19e.zip |
Fixed issues with hypre:
1. --with-lapack-lib was wrong.
2. --with-MPI was wrong; set env vars for MPI wrappers instead.
3. Added version 2.10.1
4. Added shared library variant (True by default). Hypre can build shared or static libraries, but not both in the same build.
-rw-r--r-- | var/spack/repos/builtin/packages/hypre/package.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py index 0f7f14dd89..242ee100d7 100644 --- a/var/spack/repos/builtin/packages/hypre/package.py +++ b/var/spack/repos/builtin/packages/hypre/package.py @@ -1,4 +1,5 @@ from spack import * +import os class Hypre(Package): """Hypre is a library of high performance preconditioners that @@ -8,8 +9,11 @@ class Hypre(Package): homepage = "http://computation.llnl.gov/project/linear_solvers/software.php" url = "http://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz" + version('2.10.1', 'dc048c4cabb3cd549af72591474ad674') version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') + variant('shared', default=True, description="Build shared library version (disables static library)") + depends_on("mpi") depends_on("blas") depends_on("lapack") @@ -17,16 +21,26 @@ class Hypre(Package): def install(self, spec, prefix): blas_dir = spec['blas'].prefix lapack_dir = spec['lapack'].prefix + mpi_dir = spec['mpi'].prefix + + os.environ['CC'] = os.path.join(mpi_dir, 'bin', 'mpicc') + os.environ['CXX'] = os.path.join(mpi_dir, 'bin', 'mpicxx') + os.environ['F77'] = os.path.join(mpi_dir, 'bin', 'mpif77') + + + configure_args = [ + "--prefix=%s" % prefix, + "--with-lapack-libs=lapack", + "--with-lapack-lib-dirs=%s/lib" % lapack_dir, + "--with-blas-libs=blas", + "--with-blas-lib-dirs=%s/lib" % blas_dir] + if '+shared' in self.spec: + configure_args.append("--enable-shared") # Hypre's source is staged under ./src so we'll have to manually # cd into it. with working_dir("src"): - configure( - "--prefix=%s" % prefix, - "--with-blas-libs=blas", - "--with-blas-lib-dirs=%s/lib" % blas_dir, - "--with-lapack-libs=\"lapack blas\"", - "--with-lapack-lib-dirs=%s/lib" % lapack_dir, - "--with-MPI") + configure(*configure_args) + make() make("install") |