#1687: add MPI_INC_DIRS and MPI_LIB_DIRS to HDF5_XXX_DIRS ------------------------------------+--------------------------------------- Reporter: rhaas | Owner: Type: defect | Status: review Priority: minor | Milestone: Component: EinsteinToolkit thorn | Version: development version Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
Attached please find an updated patch. I have tied the MPI stuff to H5_HAVE_PARALLEL in H5pubconf.h rather than H5_HAVE_LIBMPI since there is also a H5_HAVE_LIBMPICH in the same file and H5_HAVE_PARALLEL is what is actually controlling the #include <mpi.h> statement. I suspect that this actually makes no difference in practise since for static MPI libraries the linker will not pick any object out of libmpi.a (or whatever) if hdf5 does not refer to it, while for dynamic linking the linking happens at runtime anyway. If MPI is not in the thornlist then all the MPI_XXX_DR variables will be empty strings.
I have remove the stripping of MPI_XXX_DIRS as suggested.
Note that ZLIB_XXX_DIRS is still passed through the stripping scripts (this was like this before, hence the MPI handling just copied this). ZLIB is handled very differently from MPI right now, it always adds ZLIB_LIBS (but not eg SZLIB_LIBS). HDF5's configure.sh also looks at LIBZ_DIR which is an option of zlib's configure.sh.
The patch compiles on stampede with both phdf5+petsc and hdf5 (and not petsc) modules. In the later case I checked that HDF5's make.HDF5.defn in its Capabilities directory does not mention MPI.