summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNichols A. Romero <naromero77@users.noreply.github.com>2019-02-26 18:36:50 -0600
committerPeter Scheibel <scheibel1@llnl.gov>2019-02-26 18:36:50 -0600
commit5aa6cbf437fd80338eef2834177c920871b094d7 (patch)
treee69a54d395d974ee6ffdeb9f91a92ed707151114
parent42386dbe947b81b65bdfca3523921fbe8cea9819 (diff)
downloadspack-5aa6cbf437fd80338eef2834177c920871b094d7.tar.gz
spack-5aa6cbf437fd80338eef2834177c920871b094d7.tar.bz2
spack-5aa6cbf437fd80338eef2834177c920871b094d7.tar.xz
spack-5aa6cbf437fd80338eef2834177c920871b094d7.zip
Quantum ESPRESSO package: Serial HDF5 Bug Fix (#10689)
Serial HDF5 in serial QE only works in develop version. This adds a conflict to the QE package to prevent Spack from trying to build specs which don't satisfy this constraint.
-rw-r--r--var/spack/repos/builtin/packages/quantum-espresso/package.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/quantum-espresso/package.py b/var/spack/repos/builtin/packages/quantum-espresso/package.py
index c8b442ffb3..d1e1b4e100 100644
--- a/var/spack/repos/builtin/packages/quantum-espresso/package.py
+++ b/var/spack/repos/builtin/packages/quantum-espresso/package.py
@@ -88,6 +88,12 @@ class QuantumEspresso(Package):
msg='parallel HDF5 requires MPI support'
)
+ conflicts(
+ 'hdf5=serial',
+ when='~mpi @6.1:6.3',
+ msg='serial HDF5 in serial QE only works in develop version'
+ )
+
# Elpa is formally supported by @:5.4.0, but QE configure searches
# for it in the wrong folders (or tries to download it within
# the build directory). Instead of patching Elpa to provide the
@@ -194,7 +200,7 @@ class QuantumEspresso(Package):
'--with-elpa-lib={0}'.format(elpa.libs[0])
])
- if self.spec.variants['hdf5'].value != 'none':
+ if spec.variants['hdf5'].value != 'none':
options.append('--with-hdf5={0}'.format(spec['hdf5'].prefix))
configure(*options)
@@ -210,13 +216,13 @@ class QuantumEspresso(Package):
#
# Below we try to match the entire HDF5_LIB line and substitute
# with the list of libraries that needs to be linked.
- if self.spec.variants['hdf5'].value != 'none':
+ if spec.variants['hdf5'].value != 'none':
make_inc = join_path(self.stage.source_path, 'make.inc')
hdf5_libs = ' '.join(spec['hdf5:hl,fortran'].libs)
filter_file(r'HDF5_LIB([\s]*)=([\s\w\-\/.,]*)',
'HDF5_LIB = {0}'.format(hdf5_libs),
make_inc)
- if self.spec.variants['hdf5'].value == 'serial':
+ if spec.variants['hdf5'].value == 'serial':
# Note that there is a benign side effect with this filter
# file statement. It replaces an instance of MANUAL_DFLAGS
# that is a comment in make.inc.