# Downloading HDF5 and H5Part
Keywords: scientific visualization

Downloading HDF5 and H5Part

## Downloading H5Part

- Downloading HDF5
- 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.

## Downloading H5Part

H5Part is available for download from Berkeley Labs Codeforge system https://codeforge.lbl.gov/projects/h5part.