There is no way for H5PART_HAS_MPI to be set, therefore H5PartTypes.h:

  #ifndef H5PART_HAS_MPI
  typedef int  MPI_Comm;
  #endif

conflicts (dangerously) with Open MPI which uses

  typedef struct ompi_communicator_t *MPI_Comm;

The first attached patch is a workaround for this (the build system
should also be fixed, but note that mpi.h *will* be included if HDF5 was
built with parallel support, therefore H5Part cannot use the typedef
even when it is not being built with parallel support).


Also, H5Part still relies on HDF5's 1.6 API.  The second patch is tested
with with HDF5-1.8, but should work fine with 1.6 as well (it's silly to
rely on globally defining H5_USE_16_API because then nobody will update
their components).

Jed

Index: Plugins/H5PartReader/H5Part/src/H5PartTypes.h
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Plugins/H5PartReader/H5Part/src/H5PartTypes.h,v
retrieving revision 1.1
diff -u -r1.1 H5PartTypes.h
--- Plugins/H5PartReader/H5Part/src/H5PartTypes.h	1 Oct 2009 17:55:31 -0000	1.1
+++ Plugins/H5PartReader/H5Part/src/H5PartTypes.h	9 Jan 2010 20:35:42 -0000
@@ -17,7 +17,7 @@
 #endif
  ;
 
-#ifndef H5PART_HAS_MPI
+#if !defined(H5PART_HAS_MPI) && !defined(MPI_BOTTOM)
 typedef int  MPI_Comm;
 #endif
 
Index: Plugins/H5PartReader/H5Part/src/H5Block.c
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Plugins/H5PartReader/H5Part/src/H5Block.c,v
retrieving revision 1.1
diff -u -r1.1 H5Block.c
--- Plugins/H5PartReader/H5Part/src/H5Block.c	1 Oct 2009 17:55:31 -0000	1.1
+++ Plugins/H5PartReader/H5Part/src/H5Block.c	9 Jan 2010 20:38:24 -0000
@@ -42,7 +42,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <hdf5.h>
 #include "H5Part.h"
 #include "H5PartErrors.h"
 #include "H5PartPrivate.h"
Index: Plugins/H5PartReader/H5Part/src/H5Part.c
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Plugins/H5PartReader/H5Part/src/H5Part.c,v
retrieving revision 1.1
diff -u -r1.1 H5Part.c
--- Plugins/H5PartReader/H5Part/src/H5Part.c	1 Oct 2009 17:55:31 -0000	1.1
+++ Plugins/H5PartReader/H5Part/src/H5Part.c	9 Jan 2010 20:38:24 -0000
@@ -80,7 +80,6 @@
 #include <string.h>
 #include <errno.h>
 #include <fcntl.h>
-#include <hdf5.h>
 
 #ifndef WIN32
 #include <unistd.h>
Index: Plugins/H5PartReader/H5Part/src/H5Part.h
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Plugins/H5PartReader/H5Part/src/H5Part.h,v
retrieving revision 1.1
diff -u -r1.1 H5Part.h
--- Plugins/H5PartReader/H5Part/src/H5Part.h	1 Oct 2009 17:55:31 -0000	1.1
+++ Plugins/H5PartReader/H5Part/src/H5Part.h	9 Jan 2010 20:38:24 -0000
@@ -1,6 +1,8 @@
 #ifndef _H5Part_H_
 #define _H5Part_H_
 
+#define H5_USE_16_API 1         /* H5Part does not work with the HDF5-1.8 API */
+
 #include <stdlib.h>
 #include <stdarg.h>
 #include <hdf5.h>
Index: Plugins/H5PartReader/H5Part/src/H5PartF.c
===================================================================
RCS file: /cvsroot/ParaView3/ParaView3/Plugins/H5PartReader/H5Part/src/H5PartF.c,v
retrieving revision 1.1
diff -u -r1.1 H5PartF.c
--- Plugins/H5PartReader/H5Part/src/H5PartF.c	1 Oct 2009 17:55:31 -0000	1.1
+++ Plugins/H5PartReader/H5Part/src/H5PartF.c	9 Jan 2010 20:38:24 -0000
@@ -1,6 +1,5 @@
 #include "H5Part.h"
 #include "Underscore.h"
-#include <hdf5.h>
 
 #if defined(F77_SINGLE_UNDERSCORE)
 #define F77NAME(a,b) a
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to