summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlbert Cheng <acheng@hdfgroup.org>2008-02-11 19:38:17 (GMT)
committerAlbert Cheng <acheng@hdfgroup.org>2008-02-11 19:38:17 (GMT)
commita1613da80e0b032ed674f3de2d72bd99eec6b132 (patch)
tree8700d3dadc15bc9ab0b809e333efc0a18acf0982
parent4f0e4f389a9536ea54d1b8ae27d2a5f0b8ba0006 (diff)
downloadhdf5-a1613da80e0b032ed674f3de2d72bd99eec6b132.zip
hdf5-a1613da80e0b032ed674f3de2d72bd99eec6b132.tar.gz
hdf5-a1613da80e0b032ed674f3de2d72bd99eec6b132.tar.bz2
[svn-r14548] Purpose:
Updated for v1.8 release. (Not completed yet.) Changes: Moved the section 2. "Warnings about compilers" to Appendix A; renumbered section 3-7 to section 2-6 and fixed all section references. Updated Website names from ncsa.uiuc.edu to hdfgroup.org or hdfgroup.uiuc.edu. Updated section 1-3 and some of section 4. Tested: Eyeball.
-rw-r--r--release_docs/INSTALL344
1 files changed, 189 insertions, 155 deletions
diff --git a/release_docs/INSTALL b/release_docs/INSTALL
index 540259b..cfdbeb0 100644
--- a/release_docs/INSTALL
+++ b/release_docs/INSTALL
@@ -2,65 +2,62 @@
Instructions for the Installation of HDF5 Software
==================================================
-WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any problems with the HDF5
- installation please contact help@hdfgroup.org
-
CONTENTS
--------
1. Obtaining HDF5
- 2. Warnings about compilers
- 2.1. GNU (Intel platforms)
- 2.2. DEC
- 2.3. SGI (Irix64 6.2)
- 2.4. Windows/NT
-
- 3. Quick installation
- 3.1. Windows
- 3.2. RedStorm (Cray XT3)
-
- 4. HDF5 dependencies
- 4.1. Zlib
- 4.2 Szip
- 4.3. MPI and MPI-IO
-
- 5. Full installation instructions for source distributions
- 5.1. Unpacking the distribution
- 5.1.1. Non-compressed tar archive (*.tar)
- 5.1.2. Compressed tar archive (*.tar.Z)
- 5.1.3. Gzip'd tar archive (*.tar.gz)
- 5.1.4. Bzip'd tar archive (*.tar.bz2)
- 5.2. Source vs. Build Directories
- 5.3. Configuring
- 5.3.1. Specifying the installation directories
- 5.3.2. Using an alternate C compiler
- 5.3.3. Configuring for 64-bit support
- 5.3.4. Additional compilation flags
- 5.3.5. Compiling HDF5 wrapper libraries
- 5.3.6. Specifying other programs
- 5.3.7. Specifying other libraries and headers
- 5.3.8. Static versus shared linking
- 5.3.9. Optimization versus symbolic debugging
- 5.3.10. Large (>2GB) vs. small (<2GB) file capability
- 5.3.11. Parallel vs. serial library
- 5.3.12. Threadsafe capability
- 5.3.13. Backward compatibility
- 5.3.14. Network stream capability
- 5.4. Building
- 5.5. Testing
- 5.6. Installing
- 5.7 Building and testing with Intel compilers
- 5.8 Building and testing with PGI compilers
-
- 6. Using the Library
-
- 7. Support
+ 2. Quick installation
+ 2.1. Windows
+ 2.2. RedStorm (Cray XT3)
+
+ 3. HDF5 dependencies
+ 3.1. Zlib
+ 3.2 Szip (optional)
+ 3.3. MPI and MPI-IO
+
+ 4. Full installation instructions for source distributions
+ 4.1. Unpacking the distribution
+ 4.1.1. Non-compressed tar archive (*.tar)
+ 4.1.2. Compressed tar archive (*.tar.Z)
+ 4.1.3. Gzip'd tar archive (*.tar.gz)
+ 4.1.4. Bzip'd tar archive (*.tar.bz2)
+ 4.2. Source versus build directories
+ 4.3. Configuring
+ 4.3.1. Specifying the installation directories
+ 4.3.2. Using an alternate C compiler
+ 4.3.3. Configuring for 64-bit support
+ 4.3.4. Additional compilation flags
+ 4.3.5. Compiling HDF5 wrapper libraries
+ 4.3.6. Specifying other programs
+ 4.3.7. Specifying other libraries and headers
+ 4.3.8. Static versus shared linking
+ 4.3.9. Optimization versus symbolic debugging
+ 4.3.10. Large (>2GB) vs. small (<2GB) file capability
+ 4.3.11. Parallel vs. serial library
+ 4.3.12. Threadsafe capability
+ 4.3.13. Backward compatibility
+ 4.3.14. Network stream capability
+ 4.4. Building
+ 4.5. Testing
+ 4.6. Installing
+ 4.7 Building and testing with Intel compilers
+ 4.8 Building and testing with PGI compilers
+
+ 5. Using the Library
+
+ 6. Support
+
+ A. Warnings about compilers
+ A.1. GNU (Intel platforms)
+ A.2. DEC
+ A.3. SGI (Irix64 6.2)
+ A.4. Windows/NT
*****************************************************************************
1. Obtaining HDF5
The latest supported public release of HDF5 is available from
- ftp://hdf.ncsa.uiuc.edu/HDF5/current/src. For Unix platforms, it is
+ ftp://ftp.hdfgroup.org/HDF5/current/src. For Unix platforms, it is
available in tar format compressed with gzip. For Microsoft Windows,
it is in ZIP format.
@@ -71,63 +68,44 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
Furthermore, the snapshots have only been tested on a few
machines and may not test correctly for parallel applications.
Snapshots can be found at
- ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots in a limited
- number of formats.
-
-
-2. Warnings about compilers
- OUTPUT FROM THE FOLLOWING COMPILERS SHOULD BE EXTREMELY SUSPECT
- WHEN USED TO COMPILE THE HDF5 LIBRARY, ESPECIALLY IF
- OPTIMIZATIONS ARE ENABLED. IN ALL CASES, HDF5 ATTEMPTS TO WORK
- AROUND THE COMPILER BUGS BUT THE HDF5 DEVELOPMENT TEAM MAKES NO
- GUARANTEES THAT THERE ARE OTHER CODE GENERATION PROBLEMS.
-
-2.1. GNU (Intel platforms)
- Versions before 2.8.1 have serious problems allocating registers
- when functions contain operations on `long long' data types.
- Supplying the `--disable-hsizet' switch to configure (documented
- below) will prevent hdf5 from using `long long' data types in
- situations that are known not to work, but it limits the hdf5
- address space to 2GB.
-
-2.2. COMPAQ/DEC
- The V5.2-038 compiler (and possibly others) occasionally
- generates incorrect code for memcpy() calls when optimizations
- are enabled, resulting in unaligned access faults. HDF5 works
- around the problem by casting the second argument to `char *'.
- The fortran module (5.4.1a) fails in compiling some fortran
- programs. Need to use 5.5.0 or more.
+ ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
+ in a limited number of formats.
-2.3. SGI (Irix64 6.2)
- The Mongoose 7.00 compiler has serious optimization bugs and
- should be upgraded to MIPSpro 7.2.1.2m. Patches are available
- from SGI.
-2.4. Windows/NT
- The MicroSoft Win32 5.0 compiler is unable to cast unsigned long
- long values to doubles. HDF5 works around this bug by first
- casting to signed long long and then to double.
+2. Quick installation
+ For those who don't like to read ;-) the following steps can be used
+ to configure, build, test, and install the HDF5 Library, header files,
+ and support programs. For example, to install HDF5 version X.Y.Z at
+ location /usr/local/hdf5, use the following steps.
- A link warning: defaultlib "LIBC" conflicts with use of other libs
- appears for debug version of VC++ 6.0. This warning will not affect
- building and testing hdf5 libraries.
+ $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
+ $ cd hdf5-X.Y.Z
+ $ ./configure --prefix=/usr/local/hdf5 <more configure_flags>
+ $ make
+ $ make check # run test suite.
+ $ make install
+ $ make check-install # verify installation.
+ Some versions of the tar command supports the -z option. The first
+ step above can be simplied to
+ $ tar zxf hdf5-X.Y.Z.tar.gz
-3. Quick installation
- For those that don't like to read ;-) the following steps can be
- used to configure, build, test, and install the HDF5 library,
- header files, and support programs.
+ <configure_flags> above refers to the configure flags appropriate
+ to your installation. For example, to install HDF5 with the
+ Fortran and C++ interfaces and with SZIP compression, the
+ configure line might read as follows:
+
+ $ ./configure --prefix=/usr/local/hdf5 --enable-fortran \
+ --enable-cxx --with-szlib=PATH_TO_SZIP
- $ gunzip < hdf5-1.8.0.tar.gz | tar xf -
- $ cd hdf5-1.8.0
- $ make check
- $ make install
+ In this case, PATH_TO_SZIP would be replaced with the path to the
+ installed location of the SZIP library.
-3.1. Windows
- Users of Microsoft Windows should see the INSTALL_Windows for
+2.1. Windows
+ Users of Microsoft Windows should see the INSTALL_Windows files for
detailed instructions.
-3.2. RedStorm (Cray Xt3)
+2.2. RedStorm (Cray Xt3)
Users of the Red Storm machine, after reading this file, should read
the Red Storm section in the INSTALL_parallel file for specific
instructions for the Red Storm machine. The same instructions would
@@ -135,52 +113,70 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
verified.
-4. HDF5 dependencies
-4.1. Zlib
- The HDF5 library has a predefined compression filter that uses
- the "deflate" method for chunked datatsets. If zlib-1.1.2 or
- later is found then HDF5 will use it, otherwise HDF5's predefined
- compression method will degenerate to a no-op (the compression
- filter will succeed but the data will not be compressed).
-
-4.2. Szip
- The HDF5 library has a predefined compression filter that uses
- the extended-Rice lossless compression algorithm for chunked
- datatsets. For more information about Szip compression and license terms
- see http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html.
- Precompiled szip binaries for each supported platform and source tar ball
- file can be found at ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-
-4.3. MPI and MPI-IO
+3. HDF5 dependencies
+3.1. Zlib
+ The HDF5 Library includes a predefined compression filter that
+ uses the "deflate" method for chunked datasets. If zlib-1.1.2 or
+ later is found, HDF5 will use it. Otherwise, HDF5's predefined
+ compression method will degenerate to a no-op; the compression
+ filter will succeed but the data will not be compressed.
+
+3.2. Szip (optional)
+ The HDF5 Library includes a predefined compression filter that
+ uses the extended-Rice lossless compression algorithm for chunked
+ datasets. For more information about Szip compression and license
+ terms, see http://hdfgroup.org/doc_resource/SZIP/.
+
+ Precompiled szip binaries for each supported platform and a source tar
+ ball file can be found at ftp://ftp.hdfgroup.org/lib-external/szip/.
+
+ To configure the HDF5 Library with the Szip compression filter, use
+ the '--enable-szlib=/PATH_TO_SZIP' flag. For more information, see
+ section 4.3.7, "Specifying other libraries and headers."
+
+ Starting with release 1.6.3, Szip library binaries are distributed
+ with the encoder enabled (a license may be required to use this binary)
+ and with the encoder disabled (freely usable without a license).
+ Depending on which Szip binary is used, Szip compression is available
+ or is not available for an HDF5 application. Szip decoding is always
+ available, i.e., an HDF5 application can always read Szip compressed
+ data, if the Szip filter is present.
+
+3.3. MPI and MPI-IO
The parallel version of the library is built upon the foundation
provided by MPI and MPI-IO. If these libraries are not available
- when HDF5 is configured then only a serial version of HDF5 can be
- built.
+ when HDF5 is configured, only a serial version of HDF5 can be built.
-5. Full installation instructions for source distributions
-5.1. Unpacking the distribution
- The HDF5 source code is distributed in a variety of formats which
- can be unpacked with the following commands, each of which
- creates an `hdf5-1.8.0' directory.
+4. Full installation instructions for source distributions
+4.1. Unpacking the distribution
+ The HDF5 source code is distributed in a variety of formats which
+ can be unpacked with the following commands, each of which creates an
+ 'hdf5-X.Y.Z' directory, where X.Y.Z is the HDF5 version numbers.
-5.1.1. Non-compressed tar archive (*.tar)
+4.1.1. Non-compressed tar archive (*.tar)
- $ tar xf hdf5-1.8.0.tar
+ $ tar xf hdf5-X.Y.Z.tar
-5.1.2. Compressed tar archive (*.tar.Z)
+4.1.2. Compressed tar archive (*.tar.Z)
- $ uncompress -c < hdf5-1.8.0.tar.Z | tar xf -
+ $ uncompress -c < hdf5-X.Y.Z.tar.Z | tar xf -
+ Or
+ $ tar Zxf hdf5-X.Y.Z.tar.Z
-5.1.3. Gzip'd tar archive (*.tar.gz)
+4.1.3. Gzip'd tar archive (*.tar.gz)
- $ gunzip < hdf5-1.8.0.tar.gz | tar xf -
+ $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
+ Or
+ $ tar zxf hdf5-X.Y.Z.tar.gz
-5.1.4. Bzip'd tar archive (*.tar.bz2)
+4.1.4. Bzip'd tar archive (*.tar.bz2)
- $ bunzip2 < hdf5-1.8.0.tar.bz2 | tar xf -
+ $ bunzip2 < hdf5-X.Y.Z.tar.bz2 | tar xf -
+ Or
+ $ tar jxf hdf5-X.Y.Z.tar.bz2
-5.2. Source vs. Build Directories
+4.2. Source versus build directories
On most systems the build can occur in a directory other than the
source directory, allowing multiple concurrent builds and/or
read-only source code. In order to accomplish this, one should
@@ -204,7 +200,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
version of make. The VPATH facility should not be used
with the new parallel make option.
-5.3. Configuring
+4.3. Configuring
HDF5 uses the GNU autoconf system for configuration, which
detects various features of the host system and creates the
Makefiles. On most systems it should be sufficient to say:
@@ -224,7 +220,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
`configure' output. The host config file influences the behavior
of configure by setting or augmenting shell variables.
-5.3.1. Specifying the installation directories
+4.3.1. Specifying the installation directories
Typing `make install' will install the HDF5 library, header
files, examples, and support programs in /usr/local/lib,
/usr/local/include, /usr/local/doc/hdf5/examples, and
@@ -241,7 +237,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
specified at configure time; see the section on Installing HDF5
for more details.
-5.3.2. Using an alternate C compiler
+4.3.2. Using an alternate C compiler
By default, configure will look for the C compiler by trying
`gcc' and `cc'. However, if the environment variable "CC" is set
then its value is used as the C compiler (users of csh and
@@ -259,7 +255,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ CC=/usr/local/mpi/bin/mpicc ./configure
-5.3.3. Configuring for 64-bit support
+4.3.3. Configuring for 64-bit support
Several machine architectures support 32-bit or 64-bit binaries.
The options below describe how to enable support for different options.
@@ -283,7 +279,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
$ ./configure --enable-fortran
-5.3.4. Additional compilation flags
+4.3.4. Additional compilation flags
If addtional flags must be passed to the compilation commands
then specify those flags with the CFLAGS variable. For instance,
to enable symbolic debugging of a production version of HDF5 one
@@ -291,7 +287,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ CFLAGS=-g ./configure --enable-production
-5.3.5. Compiling HDF5 wrapper libraries
+4.3.5. Compiling HDF5 wrapper libraries
One can optionally build the Fortran and/or C++ interface to the
HDF5 C library. By default, both options are disabled. To build
them, specify `--enable-fortran' and `--enable-cxx' respectively.
@@ -320,10 +316,10 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
specified lines or use a patch from HDF FTP server
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
- Note: See sections 5.7 and 5.8 for how to build Fortran Library with
- PGI or Intel compilers.
+ Note: See sections 4.7 and 4.8 for how to build Fortran Library with
+ Intel or PGI compilers.
-5.3.6. Specifying other programs
+4.3.6. Specifying other programs
The build system has been tuned for use with GNU make but works
also with other versions of make. If the `make' command runs a
non-GNU version but a GNU version is available under a different
@@ -357,7 +353,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
because the HDF5 makefiles also use the install program to
also change file ownership and/or access permissions.
-5.3.7. Specifying other libraries and headers
+4.3.7. Specifying other libraries and headers
Configure searches the standard places (those places known by the
systems compiler) for include files and header files. However,
additional directories can be specified by using the CPPFLAGS
@@ -397,7 +393,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ ./configure --with-szlib=/Szip_Install_Directory
-5.3.8. Static versus shared linking
+4.3.8. Static versus shared linking
The build process will create static libraries on all systems and
shared libraries on systems that support dynamic linking to a
sufficient degree. Either form of library may be suppressed by
@@ -413,7 +409,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ ./configure --enable-static-exec
-5.3.9. Optimization versus symbolic debugging
+4.3.9. Optimization versus symbolic debugging
The library can be compiled to provide symbolic debugging support
so it can be debugged with gdb, dbx, ddd, etc or it can be
compiled with various optimizations. To compile for symbolic
@@ -450,7 +446,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
releases). The tracing must also be enabled at runtime to see any
output (see Debugging.html).
-5.3.10. Large (>2GB) vs. small (<2GB) file capability
+4.3.10. Large (>2GB) vs. small (<2GB) file capability
In order to read or write files that could potentially be larger
than 2GB it is necessary to use the non-ANSI `long long' data
type on some platforms. However, some compilers (e.g., GNU gcc
@@ -460,12 +456,12 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ ./configure --disable-hsizet
-5.3.11. Parallel vs. serial library
+4.3.11. Parallel vs. serial library
The HDF5 library can be configured to use MPI and MPI-IO for
parallelizm on a distributed multi-processor system. Read the
file INSTALL_parallel for detailed explanations.
-5.3.12. Threadsafe capability
+4.3.12. Threadsafe capability
The HDF5 library can be configured to be thread-safe (on a very
large scale) with the with the `--enable-threadsafe' flag to
the configure script. Some platforms may also require the
@@ -473,7 +469,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
script as well. Read the file doc/TechNotes/ThreadSafeLibrary.html
for further details.
-5.3.13. Backward compatibility
+4.3.13. Backward compatibility
The 1.8 version of the HDF5 library can be configured to operate
identically to the v1.6 library with the `--enable-hdf5v1_6'
configure flag. This allows existing code to be compiled with the
@@ -481,7 +477,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
application source code. This flag will only be supported in the
v1.8 branch of the library, it will not be available in v1.9+.
-5.3.14. Network stream capability
+4.3.14. Network stream capability
The HDF5 library can be configured with a network stream file
driver with the `--enable-stream-vfd' configure flag. This option
compiles the "stream" Virtual File Driver into the main library.
@@ -491,7 +487,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
compiler, where it is disabled. Explicitly enabling Stream-VFD
will allow for its use in parallel.
-5.4. Building
+4.4. Building
The library, confidence tests, and programs can be build by
saying just:
@@ -508,7 +504,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
$ make -j -l6
-5.5. Testing
+4.5. Testing
HDF5 comes with various test suites, all of which can be run by
saying
@@ -529,7 +525,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
environment variable to 2 or 3 (with 3 being the shortest run).
To perform a longer test, set HDF5TestExpress to 0. 1 is the default.
-5.6. Installing
+4.6. Installing
The HDF5 library, include files, and support programs can be
installed in a (semi-)public place by saying `make install'. The
files are installed under the directory specified with
@@ -590,7 +586,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
./tools/gifconv/h52gif (HDF5 to GIF converter)
./tools/gifconv/gif2h5 (GIF to HDF5 converter)
-5.7 Building and testing with Intel compilers
+4.7 Building and testing with Intel compilers
When Intel compilers are used (icc or ecc), you will need to
@@ -633,7 +629,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
use a patch from HDF FTP server ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-5.8 Building and testing with PGI compilers
+4.8 Building and testing with PGI compilers
When PGI C and C++ compilers are used (pgcc or pgCC), you will need to
modify the generated "libtool" program after configuration is finished.
@@ -658,7 +654,7 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
before running the configure script.
-6. Using the Library
+5. Using the Library
Please see the User Manual in the doc/html directory.
Most programs will include <hdf5.h> and link with -lhdf5.
@@ -670,5 +666,43 @@ WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any
shared hdf5 libraries.
-7. Support
+6. Support
Support is described in the README file.
+
+
+Appendix A. Warnings about compilers
+ Output from the following compilers should be extremely suspected
+ when used to compile the HDF5 library, especially if optimizations are
+ enabled. in all cases, HDF5 attempts to work around the compiler bugs.
+
+A.1. GNU (Intel platforms)
+ Versions before 2.8.1 have serious problems allocating registers
+ when functions contain operations on `long long' data types.
+ Supplying the `--disable-hsizet' switch to configure (documented
+ below) will prevent hdf5 from using `long long' data types in
+ situations that are known not to work, but it limits the hdf5
+ address space to 2GB.
+
+A.2. COMPAQ/DEC
+ The V5.2-038 compiler (and possibly others) occasionally
+ generates incorrect code for memcpy() calls when optimizations
+ are enabled, resulting in unaligned access faults. HDF5 works
+ around the problem by casting the second argument to `char *'.
+ The fortran module (5.4.1a) fails in compiling some fortran
+ programs. Need to use 5.5.0 or more.
+
+A.3. SGI (Irix64 6.2)
+ The Mongoose 7.00 compiler has serious optimization bugs and
+ should be upgraded to MIPSpro 7.2.1.2m. Patches are available
+ from SGI.
+
+A.4. Windows/NT
+ The MicroSoft Win32 5.0 compiler is unable to cast unsigned long
+ long values to doubles. HDF5 works around this bug by first
+ casting to signed long long and then to double.
+
+ A link warning: defaultlib "LIBC" conflicts with use of other libs
+ appears for debug version of VC++ 6.0. This warning will not affect
+ building and testing hdf5 libraries.
+
+