diff options
author | lpoirel <lpoirel@users.noreply.github.com> | 2020-08-25 14:07:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-25 14:07:59 +0200 |
commit | b562154423c4cbfb073cf8eee140c38ac7990cb1 (patch) | |
tree | acf844220dc717b2d747804825d367841ff8f9de | |
parent | b305990ee837ed018e6bf2e5eedfb643f3adc5b8 (diff) | |
download | spack-b562154423c4cbfb073cf8eee140c38ac7990cb1.tar.gz spack-b562154423c4cbfb073cf8eee140c38ac7990cb1.tar.bz2 spack-b562154423c4cbfb073cf8eee140c38ac7990cb1.tar.xz spack-b562154423c4cbfb073cf8eee140c38ac7990cb1.zip |
petsc: new version add support for +mumps +int64 (#18170)
* petsc: new version add support for +mumps +int64
The latest petsc release allows using mumps while using 64 bit integers :
https://www.mcs.anl.gov/petsc/documentation/changes/313.html
https://gitlab.com/petsc/petsc/-/merge_requests/2591/
* petsc: use conflicts for mumps dependency
-rw-r--r-- | var/spack/repos/builtin/packages/petsc/package.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 0a44765056..0b88c97282 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -81,8 +81,7 @@ class Petsc(Package): # Mumps is disabled by default, because it depends on Scalapack # which is not portable to all HPC systems variant('mumps', default=False, - description='Activates support for MUMPS (only parallel' - ' and 32bit indices)') + description='Activates support for MUMPS (only parallel)') variant('superlu-dist', default=True, description='Activates support for SuperluDist (only parallel)') variant('trilinos', default=False, @@ -145,6 +144,9 @@ class Petsc(Package): conflicts('+superlu-dist', when='~mpi', msg=mpi_msg) conflicts('+trilinos', when='~mpi', msg=mpi_msg) + # older versions of petsc did not support mumps when +int64 + conflicts('+mumps', when='@:3.12.99+int64') + filter_compiler_wrappers( 'petscvariables', relative_root='lib/petsc/conf' ) @@ -225,8 +227,8 @@ class Petsc(Package): depends_on('superlu-dist@xsdk-0.2.0+int64', when='@xsdk-0.2.0+superlu-dist+mpi+int64') depends_on('superlu-dist@develop~int64', when='@develop+superlu-dist+mpi~int64') depends_on('superlu-dist@develop+int64', when='@develop+superlu-dist+mpi+int64') - depends_on('mumps+mpi', when='+mumps+mpi~int64') - depends_on('scalapack', when='+mumps+mpi~int64') + depends_on('mumps+mpi~int64', when='+mumps') + depends_on('scalapack', when='+mumps') depends_on('trilinos@12.6.2:+mpi', when='@3.7.0:+trilinos+mpi') depends_on('trilinos@xsdk-0.2.0+mpi', when='@xsdk-0.2.0+trilinos+mpi') depends_on('trilinos@develop+mpi', when='@xdevelop+trilinos+mpi') @@ -328,9 +330,9 @@ class Petsc(Package): else: options.append('--with-clanguage=C') - # PETSc depends on scalapack when '+mumps+mpi~int64' (see depends()) + # PETSc depends on scalapack when '+mumps' (see depends()) # help PETSc pick up Scalapack from MKL - if spec.satisfies('+mumps+mpi~int64'): + if spec.satisfies('+mumps'): scalapack = spec['scalapack'].libs options.extend([ '--with-scalapack-lib=%s' % scalapack.joined(), |