[FLASH-USERS] Compilation error with Parallel HDF5 1.10.5

Klaus Weide klaus at flash.uchicago.edu
Fri Mar 8 15:46:25 EST 2019


On Wed, 6 Mar 2019, Mattia Cipriani wrote:

> Dear FLASH Users,
> 
> I am compiling FLASH4.5 code by using OpenMPI 3.1.2 and HDF5 1.10.5, to take advantage of OpenMPI for parallel data output.
> I have the following issue:
> 
> /usr/mpi/gcc730/openmpi-3.1.2/bin/mpicc -I/afs/enea.it/project/iner/SIMULAZIONI/software/build/hdf5/include -DH5_USE_16_API -I/afs/enea.it/project/iner/SIMULAZIONI/software/build/hypre/include -ggdb -c -O2 -Wuninitialized -D_FORTIFY_SOURCE=2 -DFLASH_3T -DMAXBLOCKS=1000 -DNXB=16 -DNYB=16 -DNZB=1 -DN_DIM=2 io_h5_report_xfer_method.c
> io_h5_report_xfer_method.c: In function ‘io_h5_report_xfer_method’:
> io_h5_report_xfer_method.c:105:26: error: ‘H5D_MPIO_FILTERS’ undeclared (first use in this function)
>        if (global_cause & H5D_MPIO_FILTERS) {
>                           ^
> io_h5_report_xfer_method.c:105:26: note: each undeclared identifier is reported only once for each function it appears in
> make: *** [io_h5_report_xfer_method.o] Error 1


To avoid this problem, apply the attached patch to the file

 source/IO/IOMain/hdf5/io_h5_report_xfer_method.c


Klaus
-------------- next part --------------
Index: io_h5_report_xfer_method.c
===================================================================
--- io_h5_report_xfer_method.c	(revision 26498)
+++ io_h5_report_xfer_method.c	(revision 26499)
@@ -102,9 +102,14 @@
       if (global_cause & H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET) {
 	ADD_CAUSE_TO_STR("H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET ");
       }
+#if (H5_VERSION_LE(1,10,0))
+      /* In HDF5 versions starting at 1.10.2(?) there is reportedly
+	 H5D_MPIO_NO_COLLECTIVE_MAX_CAUSE instead, not sure whether
+	 that has the same meaning or functionality... */
       if (global_cause & H5D_MPIO_FILTERS) {
 	ADD_CAUSE_TO_STR("H5D_MPIO_FILTERS ");
       }
+#endif
 
       printf(" [%s]: Dataset '%s' - no collective I/O because %s\n",
 	     __FILE__, datasetName, cause_str);


More information about the flash-users mailing list