Merge pull request #1553 from adamjstewart/fixes/netcdf-hdf5

Fix NetCDF/HDF5 dependency resolution problems
This commit is contained in:
Todd Gamblin 2016-09-08 11:58:46 -07:00 committed by GitHub
commit 3d3d65f3f7
2 changed files with 11 additions and 5 deletions

View File

@ -52,7 +52,7 @@ class Hdf5(Package):
variant('cxx', default=True, description='Enable C++ support')
variant('fortran', default=True, description='Enable Fortran support')
variant('mpi', default=False, description='Enable MPI support')
variant('mpi', default=True, description='Enable MPI support')
variant('szip', default=False, description='Enable szip support')
variant('threadsafe', default=False,
description='Enable thread-safe capabilities')

View File

@ -50,12 +50,18 @@ class Netcdf(Package):
# Required for NetCDF-4 support
depends_on("zlib")
depends_on('hdf5@:1.8+mpi', when='@:4.4.0+mpi')
depends_on('hdf5+mpi', when='@4.4.1:+mpi')
depends_on('hdf5@:1.8~mpi', when='@:4.4.0~mpi')
depends_on('hdf5~mpi', when='@4.4.1:~mpi')
depends_on('hdf5')
# NetCDF 4.4.0 and prior have compatibility issues with HDF5 1.10 and later
# https://github.com/Unidata/netcdf-c/issues/250
depends_on('hdf5@:1.8', when='@:4.4.0')
def install(self, spec, prefix):
# Workaround until variant forwarding works properly
if '+mpi' in spec and spec.satisfies('^hdf5~mpi'):
raise RuntimeError('Invalid spec. Package netcdf requires '
'hdf5+mpi, but spec asked for hdf5~mpi.')
# Environment variables
CPPFLAGS = []
LDFLAGS = []