Downloading H5Part
Downloading HDF5
You will need to download and install the hdf5 library and link H5Part with it.ftp ftp.ncsa.uiuc.edu username: anonymous password: your email cd HDF/HDF5/current/src ls get hdf5-1.6.5.tar.gz (get the current version, this as the one on April 20th, 2006) cd szip/src ls get szip-2.0.tar.gz (get the current version, this as the one on April 20th, 2006) cd ../../ cd zlib/1.2/src ls get zlib-1.2.1.tar.gz (get the current version, this as the one on April 20th, 2006)
Note: you might already have libz in your system and you will not need libsz unless you build hdf5 with support for it.
Building Parallel HDF5
When you build HDF5, you will need to build an version with parallel I/O enabled. Here is a set of configure options that worked for us on a Linux workstation running SuSE 10.1 with MPICH installed in /usr/local/mpich.
./configure --prefix=/usr/local/hdf5-mpich --enable-parallel CC=mpicc CXX=mpicxx --disable-shared --enable-static --enable-stream-vfd
- --prefix=/usr/local/hdf5-mpich : the location where the HDF5 libs and binaries will be installed.
- --enable-parallel : contrary to the HDF5 documentation, which says that "--enable-parallel" is optional for building the parallel version of HDF5, you must have --enable-parallel to get the parallel-enabled build. See these notes from HDF5 where they claim that --enable-parallel is optional.
- CC=mpicc CXX=mpicxx : contrary to the output from configure --help, the
configure script seems to ignore the CC and CXX environment variables.
We tried setting these environment variables to mpicc and mpicxx,
respectively, and then ran configure with --enable-parallel. The configure
script would faile with this error message:
checking whether a simple MPI-IO program can be linked... no configure: error: unable to link a simple MPI-IO application
- --disable-shared and --enable-static: the HDF5 build failed for us w/o these options when attempting to read symbols from libmpich.a. The result of these options is that your parallel-enabled HDF5 libaries will be static rather than dynamic.