HDF5

From CBLFS
Jump to navigationJump to search
Download Source: ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-1.8.2.tar.gz

Introduction to HDF5

HDF5 is a general purpose library and file format for storing scientific data. HDF5 stores two primary objects: datasets and groups. A dataset is a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. The internal structure of an HDF5 file is very similar to the filesystem hierarchy.

Project Homepage: http://hdfgroup.org/HDF5/

Dependencies

Optional

Configuration Information

The following options may be passed to the configure script:

F9X=gfortran: Specifies the FORTRAN compiler to interface with.
--enable-fortran: Compile the FORTRAN interface.
--enable-cxx: Compile the C++ interface.
--enable-linux-lfs: Enable support for large (64-bit) files on Linux.
--with-ssl=<LIB>: Use the SSL library.
--enable-parallel: Enable MPI-IO and MPI support.

Parallel Support

If building HDF5 with parallel support, you must build MPICH2 with FORTRAN enabled and use the MPI C and FORTRAN compilers to build HDF5. In this case, set the compilers as follows for both Non-Multilib and Multilib builds. Obviously you will need to replace the ${BUILD32} as appropriate.

F9X=mpif77 CC="mpicc ${BUILD32}"

You will also need to add the --disable-cxx option in place of --enable-cxx when executing the configure script.

Non-Multilib

Compile the package:

F9X=gfortran ./configure --prefix=/usr --sysconfdir=/etc \
--enable-fortran --enable-cxx &&
make

Install the package:

make install

Install the documentation:

make install-doc

Multilib

32Bit

Compile the package:

CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" F9X=gfortran \
./configure --prefix=/usr --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

N32

Compile the package:

CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" F9X=gfortran \
./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

64Bit

Compile the package:

CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" F9X=gfortran \
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --enable-fortran --enable-cxx &&
make

Install the package:

make install

Install the documentation:

make install-doc

Contents

Installed Directories: /usr/share/doc/hdf5, /usr/share/doc/hdf5/examples, /usr/share/doc/hdf5/examples/fortran, /usr/share/doc/hdf5/examples/c++, /usr/share/doc/hdf5/examples/c
Installed Programs: h5dump, h5diff, h5ls, h5cc, h5debug, h5redeploy, h5repart, gif2h5, h52gif, h5import, h5repack, h5jam, h5unjam, h5fc, h5c++, h5perf
Installed Libraries: libhdf5.so, libhdf5.la, libhdf5.a, libhdf5_hl.so, libhdf5_hl.la, libhdf5_hl.a, libhdf5_fortran.la, libhdf5_fortran.a, libhdf5_cpp.la, libhdf5_cpp.a, libhdf5_cpp.la, libhdf5_cpp.a
Symlinks: None

Short Descriptions

/usr/doc/hdf5: Directory containing example programs for using HDF5 files with c, c++, and/or FORTRAN as well as the documentation.
h5c++: Script to assist in interfacing HDF5 to c++.
h5cc: Script to assist in interfacing HDF5 to c.
h5fc: Script to assist in interfacing HDF5 to FORTRAN.
h5debug: Program to assist in debugging HDF5 file.
h5diff: Similar to the diff program except for HDF5 files.
h5dump: Dumps information from an HDF5 file to stdout.
h5import: Converts data stored in one or more ASCII or binary files into one or more datasets in an existing or new HDF5 file.
h5jam: Add 'user_block_file' to front of 'h5_file'.
h5ls: Displays contents of HDF5 file similar to ls command.
h5repack: Compresses HDF5 file using gzip or szip.
h5unjam: Extracts user block from 'h5_file' into 'user_block_file' and HDF5 file into 'h5_file_out'.