Difference between revisions of "HDF5"

From CBLFS
Jump to navigationJump to search
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
 
|-
 
|-
 
!Download Source:
 
!Download Source:
|ftp://hdf.ncsa.uiuc.edu/HDF5/hdf5-{{HDF5-Version}}/src/hdf5-{{HDF5-Version}}.tar.gz
+
|ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-{{HDF5-Version}}.tar.gz
|-
 
!Optional patch:
 
|http://svn.cross-lfs.org/svn/repos/patches/hdf5/hdf5-{{HDF5-Version}}-gcc4.3-1.patch
 
 
|-
 
|-
 
|}
 
|}
Line 11: Line 8:
 
----
 
----
  
{{Package-Introduction|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.|http://hdf.ncsa.uiuc.edu/HDF5}}
+
{{Package-Introduction|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.|http://hdfgroup.org/HDF5/}}
  
 
== Dependencies ==
 
== Dependencies ==
Line 46: Line 43:
  
 
== Non-Multilib ==
 
== Non-Multilib ==
 
If you have gcc4.3, apply this patch :
 
 
patch -Np1 -i ../hdf5-{{HDF5-Version}}-gcc4.3-1.patch
 
  
 
Compile the package:
 
Compile the package:
Line 66: Line 59:
  
 
=== 32Bit ===
 
=== 32Bit ===
 
If you have gcc4.3, apply this patch :
 
 
patch -Np1 -i ../hdf5-{{HDF5-Version}}-gcc4.3-1.patch
 
  
 
Compile the package:
 
Compile the package:
Line 82: Line 71:
  
 
=== N32 ===
 
=== N32 ===
 
If you have gcc4.3, apply this patch :
 
 
patch -Np1 -i ../hdf5-{{HDF5-Version}}-gcc4.3-1.patch
 
  
 
Compile the package:
 
Compile the package:
Line 98: Line 83:
  
 
=== 64Bit ===
 
=== 64Bit ===
 
If you have gcc4.3, apply this patch :
 
 
patch -Np1 -i ../hdf5-{{HDF5-Version}}-gcc4.3-1.patch
 
  
 
Compile the package:
 
Compile the package:

Latest revision as of 08:54, 24 December 2009

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'.