summaryrefslogtreecommitdiffstats
path: root/release_docs/INSTALL
diff options
context:
space:
mode:
authorFrank Baker <fbaker@hdfgroup.org>2008-02-12 16:35:41 (GMT)
committerFrank Baker <fbaker@hdfgroup.org>2008-02-12 16:35:41 (GMT)
commit4bc4e5417e3010b5f598583b46e793c51d081a41 (patch)
treeb5c343ee19b7ebe3158bb50913248afd995cb6e2 /release_docs/INSTALL
parent62ff7f238de1830a61881b7fb469282c978631c7 (diff)
downloadhdf5-4bc4e5417e3010b5f598583b46e793c51d081a41.zip
hdf5-4bc4e5417e3010b5f598583b46e793c51d081a41.tar.gz
hdf5-4bc4e5417e3010b5f598583b46e793c51d081a41.tar.bz2
[svn-r14554] Description:
Quick editorial review. Convert tabs to spaces for consistent display and printing. Verify and fix links and references.
Diffstat (limited to 'release_docs/INSTALL')
-rw-r--r--release_docs/INSTALL995
1 files changed, 510 insertions, 485 deletions
diff --git a/release_docs/INSTALL b/release_docs/INSTALL
index cda4239..cebac82 100644
--- a/release_docs/INSTALL
+++ b/release_docs/INSTALL
@@ -1,74 +1,81 @@
- Instructions for the Installation of HDF5 Software
- ==================================================
+Instructions for the Installation of HDF5 Software
+==================================================
- CONTENTS
- --------
- 1. Obtaining HDF5
+This file provides instructions for installing the HDF5 software.
+If you have any problems with the installation, please see The HDF Group's
+support page at the following location:
- 2. Quick installation
- 2.1. Windows
- 2.2. RedStorm (Cray XT3)
+ http://www.hdfgroup.org/services/support.html
- 3. HDF5 dependencies
- 3.1. Zlib
+CONTENTS
+--------
+ 1. Obtaining HDF5
+
+ 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)
+ 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. 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.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.4. Building
- 4.5. Testing
- 4.6. Installing
- 4.7 Building and testing with Intel compilers
- 4.8 Building and testing with PGI compilers
+ 4.4. Building
+ 4.5. Testing
+ 4.6. Installing HDF5
+ 4.7 Building and testing with Intel compilers
+ 4.8 Building and testing with PGI compilers
- 5. Using the Library
+ 5. Using the Library
- 6. Support
+ 6. Support
A. Warnings about compilers
- A.1. GNU (Intel platforms)
- A.2. DEC
- A.3. SGI (Irix64 6.2)
- A.4. Windows/NT
+ 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://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.
-
- The HDF team also makes snapshots of the source code available on
- a regular basis. These snapshots are unsupported (that is, the
- HDF team will not release a bug-fix on a particular snapshot;
- rather any bug fixes will be rolled into the next snapshot).
- 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://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
- in a limited number of formats.
+ The latest supported public release of HDF5 is available from
+ ftp://ftp.hdfgroup.org/HDF5/current/src. For Unix and UNIX-like
+ platforms, it is available in tar format compressed with gzip.
+ For Microsoft Windows, it is in ZIP format.
+
+ The HDF team also makes snapshots of the source code available on
+ a regular basis. These snapshots are unsupported (that is, the
+ HDF team will not release a bug-fix on a particular snapshot;
+ rather any bug fixes will be rolled into the next snapshot).
+ Furthermore, the snapshots have only been tested on a few
+ machines and may not test correctly for parallel applications.
+ Snapshots, in a limited number of formats, can be found on THG's
+ development FTP server:
+
+ ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
2. Quick installation
@@ -81,13 +88,14 @@
$ cd hdf5-X.Y.Z
$ ./configure --prefix=/usr/local/hdf5 <more configure_flags>
$ make
- $ make check # run test suite.
+ $ make check # run test suite.
$ make install
- $ make check-install # verify installation.
+ $ make check-install # verify installation.
+
+ Some versions of the tar command support the -z option. In such cases,
+ the first step above can be simplified to the following:
- 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
+ $ tar zxf hdf5-X.Y.Z.tar.gz
<configure_flags> above refers to the configure flags appropriate
to your installation. For example, to install HDF5 with the
@@ -95,28 +103,28 @@
configure line might read as follows:
$ ./configure --prefix=/usr/local/hdf5 --enable-fortran \
- --enable-cxx --with-szlib=PATH_TO_SZIP
+ --enable-cxx --with-szlib=PATH_TO_SZIP
In this case, PATH_TO_SZIP would be replaced with the path to the
installed location of the SZIP library.
2.1. Windows
- Users of Microsoft Windows should see the INSTALL_Windows files for
- detailed instructions.
+ Users of Microsoft Windows should see the INSTALL_Windows files for
+ detailed instructions.
-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
- probably work for other Cray XT3 systems but they have not been
- verified.
+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
+ probably work for other Cray XT3 systems, but they have not been
+ verified.
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
+ 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.
@@ -126,8 +134,8 @@
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/.
+ Precompiled Szip binaries for each supported platform and a source
+ tar 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
@@ -136,18 +144,21 @@
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.
+ If the encoder enabled binary is used, Szip compression encoding is
+ available for an HDF5 application; if the encoder disabled binary is
+ used, Szip compression is not available. Szip decoding is always
+ available for applications (i.e., an HDF5 application can always read
+ Szip-compressed data) if the Szip filter is present, regardless of the
+ binary used.
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, only a serial version of HDF5 can be built.
+ 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, only a serial version of HDF5 can be built.
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
@@ -155,548 +166,562 @@
4.1.1. Non-compressed tar archive (*.tar)
- $ tar xf hdf5-X.Y.Z.tar
+ $ tar xf hdf5-X.Y.Z.tar
4.1.2. Compressed tar archive (*.tar.Z)
- $ uncompress -c < hdf5-X.Y.Z.tar.Z | tar xf -
- Or
- $ tar Zxf hdf5-X.Y.Z.tar.Z
+ $ uncompress -c < hdf5-X.Y.Z.tar.Z | tar xf -
+ Or
+ $ tar Zxf hdf5-X.Y.Z.tar.Z
4.1.3. Gzip'd tar archive (*.tar.gz)
- $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
- Or
- $ tar zxf hdf5-X.Y.Z.tar.gz
+ $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
+ Or
+ $ tar zxf hdf5-X.Y.Z.tar.gz
4.1.4. Bzip'd tar archive (*.tar.bz2)
- $ bunzip2 < hdf5-X.Y.Z.tar.bz2 | tar xf -
- Or
- $ tar jxf hdf5-X.Y.Z.tar.bz2
+ $ bunzip2 < hdf5-X.Y.Z.tar.bz2 | tar xf -
+ Or
+ $ tar jxf hdf5-X.Y.Z.tar.bz2
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
- create a build directory, cd into that directory, and run the
- `configure' script found in the source directory (configure
- details are below). For example,
- $ mkdir built-fortran
- $ cd build-fortran
- $ ../hdf5-X.Y.Z/configure --enable-fortran ...
-
- Unfortunately, this does not work on recent Irix platforms (6.5?
- and later) because that `make' doesn't understand the VPATH
- variable. However, hdf5 also supports Irix `pmake' which has a
- .PATH target which serves a similar purpose. Here's what the man
- pages say about VPATH, which is the facility used by HDF5
- makefiles for this feature:
-
- The VPATH facility is a derivation of the undocumented
- VPATH feature in the System V Release 3 version of make.
- System V Release 4 has a new VPATH implementation, much
- like the pmake(1) .PATH feature. This new feature is also
- undocumented in the standard System V Release 4 manual
- pages. For this reason it is not available in the IRIX
- version of make. The VPATH facility should not be used
- with the new parallel make option.
+ 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
+ create a build directory, cd into that directory, and run the
+ `configure' script found in the source directory (configure
+ details are below). For example,
+ $ mkdir built-fortran
+ $ cd build-fortran
+ $ ../hdf5-X.Y.Z/configure --enable-fortran ...
+
+ Unfortunately, this does not work on recent Irix platforms (6.5?
+ and later) because that `make' does not understand the VPATH variable.
+ However, HDF5 also supports Irix `pmake' which has a .PATH target
+ which serves a similar purpose. Here's what the Irix man pages say
+ about VPATH, the facility used by HDF5 makefiles for this feature:
+
+ The VPATH facility is a derivation of the undocumented
+ VPATH feature in the System V Release 3 version of make.
+ System V Release 4 has a new VPATH implementation, much
+ like the pmake(1) .PATH feature. This new feature is also
+ undocumented in the standard System V Release 4 manual
+ pages. For this reason it is not available in the IRIX
+ version of make. The VPATH facility should not be used
+ with the new parallel make option.
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:
+ 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:
- $ ./configure OR
- $ sh configure
+ $ ./configure
+ Or
+ $ sh configure
- The configuration process can be controlled through environment
- variables, command-line switches, and host configuration files.
- For a complete list of switches type:
+ The configuration process can be controlled through environment
+ variables, command-line switches, and host configuration files.
+ For a complete list of switches type:
- $ ./configure --help
+ $ ./configure --help
- The host configuration files are located in the `config'
- directory and are based on architecture name, vendor name, and/or
- operating system which are displayed near the beginning of the
- `configure' output. The host config file influences the behavior
- of configure by setting or augmenting shell variables.
+ The host configuration files are located in the `config'
+ directory and are based on architecture name, vendor name, and/or
+ operating system which are displayed near the beginning of the
+ `configure' output. The host config file influences the behavior
+ of configure by setting or augmenting shell variables.
4.3.1. Specifying the installation directories
- The default installation location is the hdf5 directory created in
- the built directory. Typing `make install' will install the HDF5
- library, header files, examples, and support programs in hdf5/lib,
- hdf5/include, hdf5/doc/hdf5/examples, and hdf5/bin. To use a path
- other than hdf5, specify the path with the `--prefix=PATH' switch:
+ The default installation location is the HDF5 directory created in
+ the build directory. Typing `make install' will install the HDF5
+ Library, header files, examples, and support programs in hdf5/lib,
+ hdf5/include, hdf5/doc/hdf5/examples, and hdf5/bin. To use a path
+ other than hdf5, specify the path with the `--prefix=PATH' switch:
- $ ./configure --prefix=/usr/local
+ $ ./configure --prefix=/usr/local
- If shared libraries are being built (the default) then the final
- home of the shared library must be specified with this switch
- before the library and executables are built.
+ If shared libraries are being built (the default), the final
+ home of the shared library must be specified with this switch
+ before the library and executables are built.
- HDF5 can be installed into a different location than the prefix
- specified at configure time; see the section on Installing HDF5
- for more details.
+ HDF5 can be installed into a different location than the prefix
+ specified at configure time; see section 4.6, "Installing HDF5,"
+ for more details.
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
- derivatives will need to prefix the commands below with `env').
- For instance, to use the native C compiler on a system which also
- has the GNU gcc 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. For instance, one would
+ use the following line to specify the native C compiler on a system
+ that also has the GNU gcc compiler (users of csh and derivatives
+ will need to prefix the commands below with `env'):
- $ CC=cc ./configure
+ $ CC=cc ./configure
- A parallel version of hdf5 can be built by specifying `mpicc'
- as the C compiler (the `--enable-parallel' flag documented
- below is optional in this case). Using the `mpicc' compiler
- will insure that the correct MPI and MPI-IO header files and
- libraries are used.
+ A parallel version of HDF5 can be built by specifying `mpicc'
+ as the C compiler. (The `--enable-parallel' flag documented
+ below is optional in this case.) Using the `mpicc' compiler
+ will insure that the correct MPI and MPI-IO header files and
+ libraries are used.
- $ CC=/usr/local/mpi/bin/mpicc ./configure
+ $ CC=/usr/local/mpi/bin/mpicc ./configure
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.
+ Several machine architectures support 32-bit or 64-bit binaries.
+ The options below describe how to enable support for different options.
- On Irix64 the default compiler is `cc'. To use an alternate
- compiler specify it with the CC variable:
+ On Irix64, the default compiler is `cc'. To use an alternate compiler,
+ specify it with the CC variable:
- $ CC='cc -n32' ./configure
+ $ CC='cc -n32' ./configure
- Similarly, users compiling on a Solaris machine and desiring to
- build the distribution with 64-bit support should specify the
- correct flags with the CC variable:
+ Similarly, users compiling on a Solaris machine and desiring to
+ build the distribution with 64-bit support should specify the
+ correct flags with the CC variable:
- $ CC='cc -xarch=v9' ./configure
+ $ CC='cc -xarch=v9' ./configure
- To configure AIX 64-bit support including fortran API and C++,
- (Note: need to set $AR to 'ar -X 64'.)
- Serial:
- $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
- ./configure --enable-fortran
- Parallel: (C++ not supported with parallel)
- $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
- ./configure --enable-fortran
+ To configure AIX 64-bit support including the Fortran and C++ APIs,
+ (Note: need to set $AR to 'ar -X 64'.)
+ Serial:
+ $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
+ ./configure --enable-fortran
+ Parallel: (C++ not supported with parallel)
+ $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
+ ./configure --enable-fortran
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
- might say:
+ If addtional flags must be passed to the compilation commands,
+ specify those flags with the CFLAGS variable. For instance,
+ to enable symbolic debugging of a production version of HDF5, one
+ might say:
- $ CFLAGS=-g ./configure --enable-production
+ $ CFLAGS=-g ./configure --enable-production
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.
-
- $ ./configure --enable-fortran
- $ ./configure --enable-cxx
-
- Configuration will halt if a working Fortran 90 or 95 compiler or
- C++ compiler is not found. Currently, the Fortran configure tests
- for these compilers in order: f90, pgf90, f95. To use an
- alternative compiler specify it with the FC variable:
-
- $ FC=/usr/local/bin/g95 ./configure --enable-fortran
-
- Note: The Fortran and C++ interfaces are not supported on all the
- platforms the main HDF5 library supports. Also, the Fortran
- interface supports parallel HDF5 while the C++ interface does
- not.
-
- Note: See sections 4.7 and 4.8 for how to build Fortran Library with
+ One can optionally build the Fortran and/or C++ interfaces to the
+ HDF5 C library. By default, both options are disabled. To build
+ them, specify `--enable-fortran' and `--enable-cxx', respectively.
+
+ $ ./configure --enable-fortran
+ $ ./configure --enable-cxx
+
+ Configuration will halt if a working Fortran 90 or 95 compiler or
+ C++ compiler is not found. Currently, the Fortran configure tests
+ for these compilers in order: f90, pgf90, f95. To use an
+ alternate compiler specify it with the FC variable:
+
+ $ FC=/usr/local/bin/g95 ./configure --enable-fortran
+
+ Note: The Fortran and C++ interfaces are not supported on all the
+ platforms the main HDF5 Library supports. Also, the Fortran
+ interface supports parallel HDF5 while the C++ interface does
+ not.
+
+ Note: See sections 4.7 and 4.8 for building the Fortran library with
Intel or PGI compilers.
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
- name (perhaps `gmake') then HDF5 can be configured to use it by
- setting the MAKE variable. Note that whatever value is used for
- MAKE must also be used as the make command when building the
- library:
-
- $ MAKE=gmake ./configure
- $ gmake
-
- The `AR' and `RANLIB' variables can also be set to the names of
- the `ar' and `ranlib' (or `:') commands to override values
- detected by configure.
-
- The HDF5 library, include files, and utilities are installed
- during `make install' (described below) with a BSD-compatible
- install program detected automatically by configure. If none is
- found then the shell script bin/install-sh is used. Configure
- doesn't check that the install script actually works, but if a
- bad install is detected on your system (e.g., on the ASCI blue
- machine as of March 2, 1999) you have two choices:
-
- 1. Copy the bin/install-sh program to your $HOME/bin
- directory, name it `install', and make sure that $HOME/bin
- is searched before the system bin directories.
-
- 2. Specify the full path name of the `install-sh' program
- as the value of the INSTALL environment variable. Note: do
- not use `cp' or some other program in place of install
- because the HDF5 makefiles also use the install program to
- also change file ownership and/or access permissions.
+ The build system has been tuned for use with GNU make but also
+ works with other versions of make. If the `make' command runs a
+ non-GNU version but a GNU version is available under a different
+ name (perhaps `gmake'), then HDF5 can be configured to use it by
+ setting the MAKE variable. Note that whatever value is used for
+ MAKE must also be used as the make command when building the
+ library:
+
+ $ MAKE=gmake ./configure
+ $ gmake
+
+ The `AR' and `RANLIB' variables can also be set to the names of
+ the `ar' and `ranlib' (or `:') commands to override values
+ detected by configure.
+
+ The HDF5 Library, include files, and utilities are installed
+ during `make install' (described below) with a BSD-compatible
+ install program detected automatically by configure. If none is
+ found, the shell script bin/install-sh is used. Configure does not
+ check that the install script actually works; if a bad install is
+ detected on your system (e.g., on the ASCI blue machine as of
+ March 2, 1999) you have two choices:
+
+ 1. Copy the bin/install-sh program to your $HOME/bin
+ directory, name it `install', and make sure that $HOME/bin
+ is searched before the system bin directories.
+
+ 2. Specify the full path name of the `install-sh' program
+ as the value of the INSTALL environment variable. Note: do
+ not use `cp' or some other program in place of install
+ because the HDF5 makefiles also use the install program to
+ change file ownership and/or access permissions.
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
- and/or LDFLAGS variables:
+ 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
+ and/or LDFLAGS variables:
- $ CPPFLAGS=-I/home/robb/include \
+ $ CPPFLAGS=-I/home/robb/include \
LDFLAGS=-L/home/robb/lib \
- ./configure
-
- HDF5 uses the zlib library for two purposes: it provides support
- for the HDF5 deflate data compression filter, and it is used by
- the h5toh4 converter and the h4toh5 converter in support of
- HDF4. Configure searches the standard places (plus those
- specified above with CPPFLAGS and LDFLAGS variables) for the zlib
- headers and library. The search can be disabled by specifying
- `--without-zlib' or alternate directories can be specified with
- `--with-zlib=INCDIR,LIBDIR' or through the CPPFLAGS and LDFLAGS
- variables:
-
- $ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib
-
- $ CPPFLAGS=-I/usr/unsup/include \
- LDFLAGS=-L/usr/unsup/lib \
- ./configure
-
- The HDF5-to-HDF4 and HDF4-to-HDF5 conversion tool requires the
- HDF4 library and header files which are detected the same way as
- zlib. The switch to give to configure is `--with-hdf4'. Note
- that HDF5 requires a newer version of zlib than the one shipped
- with some versions of HDF4. Also, unless you have the "correct"
- version of hdf4 the confidence testing will fail in the tools
- directory.
-
- HDF5 has Szip predefined compression method (see 3.2). To enable
- Szip compression, HDF5 library has to be configured and build using
- Szip Library
-
- $ ./configure --with-szlib=/Szip_Install_Directory
+ ./configure
+
+ HDF5 uses the zlib library for two purposes: it provides support
+ for the HDF5 deflate data compression filter, and it is used by
+ the h5toh4 converter and the h4toh5 converter in support of
+ HDF4. Configure searches the standard places (plus those specified
+ above with the CPPFLAGS and LDFLAGS variables) for the zlib
+ headers and library. The search can be disabled by specifying
+ `--without-zlib' or alternate directories can be specified with
+ `--with-zlib=INCDIR,LIBDIR' or through the CPPFLAGS and LDFLAGS
+ variables:
+
+ $ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib
+
+ $ CPPFLAGS=-I/usr/unsup/include \
+ LDFLAGS=-L/usr/unsup/lib \
+ ./configure
+
+ The HDF5-to-HDF4 and HDF4-to-HDF5 conversion tool requires the
+ HDF4 library and header files, which are detected the same way as
+ zlib. The switch to give to configure is `--with-hdf4'. Note
+ that HDF5 requires a newer version of zlib than the one shipped
+ with some versions of HDF4. Also, unless you have the "correct"
+ version of HDF4, the confidence testing will fail in the tools
+ directory.
+
+ HDF5 includes Szip as a predefined compression method (see 3.2).
+ To enable Szip compression, the HDF5 Library must be configured
+ and built using the Szip Library:
+
+ $ ./configure --with-szlib=/Szip_Install_Directory
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
- saying `--disable-static' or `--disable-shared'.
+ 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 the library may be suppressed by
+ saying `--disable-static' or `--disable-shared'.
- $ ./configure --disable-shared
+ $ ./configure --disable-shared
- Shared C++ and Fortran libraries will be built if shared libraries
- are enabled.
+ Shared C++ and Fortran libraries will be built if shared libraries
+ are enabled.
- To build only statically linked executables on platforms which
- support shared libraries, use the `--enable-static-exec' flag.
+ To build only statically linked executables on platforms which
+ support shared libraries, use the `--enable-static-exec' flag.
- $ ./configure --enable-static-exec
+ $ ./configure --enable-static-exec
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
- debugging (the default for snapshots) say `--disable-production';
- to compile with optimizations (the default for supported public
- releases) say `--enable-production'. On some systems the library
- can also be compiled for profiling with gprof by saying
- `--enable-production=profile'.
-
- $ ./configure --disable-production #symbolic debugging
- $ ./configure --enable-production #optimized code
- $ ./configure --enable-production=profile #for use with gprof
-
- Regardless of whether support for symbolic debugging is enabled,
- the library also is able to perform runtime debugging of certain
- packages (such as type conversion execution times, and extensive
- invariant condition checking). To enable this debugging supply a
- comma-separated list of package names to to the `--enable-debug'
- switch (see Debugging.html for a list of package names).
- Debugging can be disabled by saying `--disable-debug'. The
- default debugging level for snapshots is a subset of the
- available packages; the default for supported releases is no
- debugging (debugging can incur a significant runtime penalty).
-
- $ ./configure --enable-debug=s,t #debug only H5S and H5T
- $ ./configure --enable-debug #debug normal packages
- $ ./configure --enable-debug=all #debug all packages
- $ ./configure --disable-debug #no debugging
-
- HDF5 is also able to print a trace of all API function calls,
- their arguments, and the return values. To enable or disable the
- ability to trace the API say `--enable-trace' (the default for
- snapthots) or `--disable-trace' (the default for public
- releases). The tracing must also be enabled at runtime to see any
- output (see Debugging.html).
+ 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
+ debugging (the default for snapshots), say `--disable-production';
+ to compile with optimizations (the default for supported public
+ releases), say `--enable-production'. On some systems the library
+ can also be compiled for profiling with gprof by saying
+ `--enable-production=profile'.
+
+ $ ./configure --disable-production #symbolic debugging
+ $ ./configure --enable-production #optimized code
+ $ ./configure --enable-production=profile #for use with gprof
+
+ Regardless of whether support for symbolic debugging is enabled,
+ the library can also perform runtime debugging of certain packages
+ (such as type conversion execution times and extensive invariant
+ condition checking). To enable this debugging, supply a
+ comma-separated list of package names to to the `--enable-debug'
+ switch. See "Debugging HDF5 Applications" for a list of package
+ names:
+
+ http://www.hdfgroup.org/HDF5/doc/H5.user/Debugging.html
+
+ Debugging can be disabled by saying `--disable-debug'.
+ The default debugging level for snapshots is a subset of the
+ available packages; the default for supported releases is no
+ debugging (debugging can incur a significant runtime penalty).
+
+ $ ./configure --enable-debug=s,t #debug only H5S and H5T
+ $ ./configure --enable-debug #debug normal packages
+ $ ./configure --enable-debug=all #debug all packages
+ $ ./configure --disable-debug #no debugging
+
+ HDF5 can also print a trace of all API function calls, their
+ arguments, and the return values. To enable or disable the
+ ability to trace the API say `--enable-trace' (the default for
+ snapthots) or `--disable-trace' (the default for public releases).
+ The tracing must also be enabled at runtime to see any output
+ (see "Debugging HDF5 Applications," reference above).
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
- versions before 2.8.1 on Intel platforms) are unable to produce
- correct machine code for this data type. To disable use of the
- `long long' type on these machines say:
+ 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
+ versions before 2.8.1 on Intel platforms) are unable to produce
+ correct machine code for this datatype. To disable use of the
+ `long long' type on these machines, say:
- $ ./configure --disable-hsizet
+ $ ./configure --disable-hsizet
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.
+ The HDF5 Library can be configured to use MPI and MPI-IO for
+ parallelism on a distributed multi-processor system. Read the
+ file INSTALL_parallel for detailed explanations.
4.3.12. Threadsafe capability
- The HDF5 library can be configured to be thread-safe (on a very
- large scale) with the `--enable-threadsafe' flag to the configure
- script. Some platforms may also require the '-with-pthread=INC,LIB'
- (or '--with-pthread=DIR') flag to the configure script as well.
- Read the file doc/TechNotes/ThreadSafeLibrary.html for further details.
+ The HDF5 Library can be configured to be thread-safe (on a very
+ large scale) with the `--enable-threadsafe' flag to the configure
+ script. Some platforms may also require the '-with-pthread=INC,LIB'
+ (or '--with-pthread=DIR') flag to the configure script.
+ For further details, see "HDF5 Thread Safe Library":
+
+ http://www.hdfgroup.org/HDF5/doc/TechNotes/ThreadSafeLibrary.html
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
- v1.8 library without requiring immediate changes to the
- 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+.
+ The 1.8 version of the HDF5 Library can be configured to operate
+ identically to the v1.6 library with the
+ --with-default-api-version=v16
+ configure flag. This allows existing code to be compiled with the
+ v1.8 library without requiring immediate changes to the application
+ source code. For addtional configuration options and other details,
+ see "API Compatibility Macros in HDF5":
+
+ http://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html
4.4. Building
- The library, confidence tests, and programs can be build by
- saying just:
+ The library, confidence tests, and programs can be built by
+ saying just:
- $ make
+ $ make
- Note that if you have supplied some other make command via the MAKE
- variable during the configuration step, that same command must be
- used here.
+ Note that if you have supplied some other make command via the MAKE
+ variable during the configuration step, that same command must be
+ used here.
- When using GNU make you can add `-j -l6' to the make command to
- compile in parallel on SMP machines. Do not give a number after
- the `-j' since GNU make will turn it off for recursive invocations
- of make.
+ When using GNU make, you can add `-j -l6' to the make command to
+ compile in parallel on SMP machines. Do not give a number after
+ the `-j' since GNU make will turn it off for recursive invocations
+ of make.
- $ make -j -l6
+ $ make -j -l6
4.5. Testing
- HDF5 comes with various test suites, all of which can be run by
- saying
-
- $ make check
-
- To run only the tests for the library change to the `test'
- directory before issuing the command. Similarly, tests for the
- parallel aspects of the library are in `testpar' and tests for
- the support programs are in `tools'.
-
- The `check' consists of two sub-tests, check-s and check-p which
- are for serial and parallel tests respectively. Since serial tests
- and parallel tests must be run with single and multiple processes
- respectively, the two sub-tests work nicely for batch systems in
- which the number of processes is fixed per batch job. One may submit
- one batch job, requesting 1 process, to run all the serial tests by
- "make check-s"; and submit another batch job, requesting multiple
- processes, to run all the parallel tests by "make check-p".
-
- Temporary files will be deleted by each test when it complets,
- but may continue to exist in an incomplete state if the test
- fails. To prevent deletion of the files, define the HDF5_NOCLEANUP
- environment variable.
+ HDF5 comes with various test suites, all of which can be run by
+ saying
+
+ $ make check
+
+ To run only the tests for the library, change to the `test'
+ directory before issuing the command. Similarly, tests for the
+ parallel aspects of the library are in `testpar' and tests for
+ the support programs are in `tools'.
+
+ The `check' consists of two sub-tests, check-s and check-p, which
+ are for serial and parallel tests, respectively. Since serial tests
+ and parallel tests must be run with single and multiple processes
+ respectively, the two sub-tests work nicely for batch systems in
+ which the number of processes is fixed per batch job. One may submit
+ one batch job, requesting 1 process, to run all the serial tests by
+ "make check-s"; and submit another batch job, requesting multiple
+ processes, to run all the parallel tests by "make check-p".
+
+ Temporary files will be deleted by each test when it completes,
+ but may continue to exist in an incomplete state if the test
+ fails. To prevent deletion of the files, define the HDF5_NOCLEANUP
+ environment variable.
The HDF5 tests can take a long time to run on some systems. To perform
a faster (but less thorough) test, set the HDF5TestExpress 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.
-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
- `--prefix=DIR' (default is 'hdf5') in directories named `lib',
- `include', and `bin'. The directories, if not existing, will be
- created automatically, provided the mkdir command supports the -p
- option.
+4.6. Installing HDF5
+ 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
+ `--prefix=DIR' (default is 'hdf5') in directories named `lib',
+ `include', and `bin'. The directories, if not existing, will be
+ created automatically, provided the mkdir command supports the -p
+ option.
- If `make install' fails because the install command at your site
- somehow fails, you may use the install-sh that comes with the
- source. You need to run ./configure again.
+ If `make install' fails because the install command at your site
+ somehow fails, you may use the install-sh that comes with the
+ source. You will need to run ./configure again.
$ INSTALL="$PWD/bin/install-sh -c" ./configure ...
$ make install
- If you want to install HDF5 in a location other than the location
- specified by the `--prefix=DIR' flag during configuration (or
- instead of the default location, `hdf5'), you can do that
- by running the deploy script:
+ If you want to install HDF5 in a location other than the location
+ specified by the `--prefix=DIR' flag during configuration (or
+ instead of the default location, `hdf5'), you can do that
+ by running the deploy script:
$ bin/deploy NEW_DIR
- This will install hdf5 in NEW_DIR. Alternately, you can do this
- manually by issuing the command:
+ This will install HDF5 in NEW_DIR. Alternately, you can do this
+ manually by issuing the command:
- $ make install prefix=NEW_DIR
+ $ make install prefix=NEW_DIR
- where NEW_DIR is the new directory you wish to install HDF5. If
- you do not use the deploy script, you should run h5redeploy in
- NEW_DIR/bin directory. This utility will fix h5cc, h5fc and
- h5c++ scripts to reflect the new NEW_DIR location.
+ where NEW_DIR is the new directory where you wish to install HDF5.
+ If you do not use the deploy script, you should run h5redeploy in
+ NEW_DIR/bin directory. This utility will fix the h5cc, h5fc and
+ h5c++ scripts to reflect the new NEW_DIR location.
- The library can be used without installing it by pointing the
- compiler at the `src' and 'src/.libs' directory for include files and
- libraries. However, the minimum which must be installed to make
- the library publically available is:
+ The library can be used without installing it by pointing the
+ compiler at the `src' and 'src/.libs' directory for include files and
+ libraries. However, the minimum which must be installed to make
+ the library publicly available is:
- The library:
- ./src/.libs/libhdf5.a
+ The library:
+ ./src/.libs/libhdf5.a
- The public header files:
- ./src/H5*public.h, ./src/H5public.h
+ The public header files:
+ ./src/H5*public.h, ./src/H5public.h
./src/H5FD*.h except ./src/H5FDprivate.h,
./src/H5api_adpt.h
- The main header file:
- ./src/hdf5.h
-
- The configuration information:
- ./src/H5pubconf.h
-
- The support programs that are useful are:
- ./tools/h5ls/h5ls (list file contents)
- ./tools/h5dump/h5dump (dump file contents)
- ./tools/misc/h5repart (repartition file families)
- ./tools/misc/h5debug (low-level file debugging)
- ./tools/h5import/h5import (imports data to HDF5 file)
- ./tools/h5diff/h5diff (compares two HDF5 files)
- ./tools/gifconv/h52gif (HDF5 to GIF converter)
- ./tools/gifconv/gif2h5 (GIF to HDF5 converter)
-
-4.7 Building and testing with Intel compilers
+ The main header file:
+ ./src/hdf5.h
+ The configuration information:
+ ./src/H5pubconf.h
+
+ The support programs that are useful are:
+ ./tools/h5ls/h5ls (list file contents)
+ ./tools/h5dump/h5dump (dump file contents)
+ ./tools/misc/h5repart (repartition file families)
+ ./tools/misc/h5debug (low-level file debugging)
+ ./tools/h5import/h5import (imports data to HDF5 file)
+ ./tools/h5diff/h5diff (compares two HDF5 files)
+ ./tools/gifconv/h52gif (HDF5 to GIF converter)
+ ./tools/gifconv/gif2h5 (GIF to HDF5 converter)
- When Intel compilers are used (icc or ecc), you will need to
- modify the generated "libtool" program after configuration is finished.
- On or around line 104 of the libtool file, there are lines which
- look like:
+4.7 Building and testing with Intel compilers
+ When Intel compilers are used (icc or ecc), you will need to modify
+ the generated "libtool" program after configuration is finished.
+ On or around line 104 of the libtool file, there are lines which
+ look like:
- # How to pass a linker flag through the compiler.
- wl=""
+ # How to pass a linker flag through the compiler.
+ wl=""
- Change these lines to this:
+ Change these lines to this:
- # How to pass a linker flag through the compiler.
- wl="-Wl,"
+ # How to pass a linker flag through the compiler.
+ wl="-Wl,"
- UPDATE: This is now done automatically by the configure script. However,
- if you still experience a problem, you may want to check this line in
- the libtool file and make sure that it has the correct value.
+ UPDATE: This is now done automatically by the configure script.
+ However, if you still experience a problem, you may want to check this
+ line in the libtool file and make sure that it has the correct value.
- * To build the Fortran library using Intel compiler on Linux 2.4, one has to
- x Use -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable
- DEC and MS compiler directives in source files in fortran/src, fortran/test
- and fortran/examples directories.
- e.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_'
- (do not use double quotes since $ is interpreted in them.)
+ * To build the Fortran library using Intel compiler on Linux 2.4,
+ one has to perform the following steps:
+ x Use the -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable
+ DEC and MS compiler directives in source files in the fortran/src,
+ fortran/test, and fortran/examples directories.
+ E.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_'
+ Do not use double quotes since $ is interpreted in them.
- x If Version 6.0 of Fortran compiler is used, build fails in
- the fortran/test directory and then in the
- fortran/examples directory; to proceed, edit the work.pcl files in
- those directories to contain two lines
+ x If Version 6.0 of Fortran compiler is used, the build fails in
+ the fortran/test directory and then in the fortran/examples
+ directory. To proceed, edit the work.pcl files in those
+ directories to contain two lines:
work.pc
../src/work.pc
- x Do the same in fortran/examples directory
- x Problem with work.pc files was resolved for newest version of the compiler (7.0)
+ x Do the same in the fortran/examples directory.
+
+ x A problem with work.pc files was resolved for the newest version
+ of the compiler (7.0).
- * To build the Fortran Library on IA32 follow step described above, except
- that DEC and MS compiler directives should be removed manually or
- use a patch from HDF FTP server ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
+ * To build the Fortran library on IA32, follow the steps described
+ above, except that the DEC and MS compiler directives should be
+ removed manually or use a patch from HDF FTP server:
+
+ ftp://ftp.hdfgroup.org/HDF5/current/
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.
- On or around line 104 of the libtool file, there are lines which
- look like:
+ When PGI C and C++ compilers are used (pgcc or pgCC), you will need to
+ modify the generated "libtool" program after configuration is finished.
+ On or around line 104 of the libtool file, there are lines which
+ look like this:
- # How to pass a linker flag through the compiler.
- wl=""
+ # How to pass a linker flag through the compiler.
+ wl=""
- Change these lines to this:
+ Change these lines to this:
- # How to pass a linker flag through the compiler.
- wl="-Wl,"
+ # How to pass a linker flag through the compiler.
+ wl="-Wl,"
- UPDATE: This is now done automatically by the configure script. However,
- if you still experience a problem, you may want to check this line in
- the libtool file and make sure that it has the correct value.
+ UPDATE: This is now done automatically by the configure script. However,
+ if you still experience a problem, you may want to check this line in
+ the libtool file and make sure that it has the correct value.
- To build HDF5 C++ Library with pgCC (version 4.0 and later), set
- environment variable CXX to "pgCC -tlocal"
- setenv CXX "pgCC -tlocal"
- before running the configure script.
+ To build the HDF5 C++ Library with pgCC (version 4.0 and later), set
+ the environment variable CXX to "pgCC -tlocal"
+ setenv CXX "pgCC -tlocal"
+ before running the configure script.
5. Using the Library
- Please see the User Manual in the doc/html directory.
+ Please see the "HDF5 User's Guide" and the "HDF5 Reference Manual":
+
+ http://www.hdfgroup.org/HDF5/doc/
- Most programs will include <hdf5.h> and link with -lhdf5.
- Additional libraries may also be necessary depending on whether
- support for compression, etc. was compiled into the hdf5 library.
+ Most programs will include <hdf5.h> and link with -lhdf5.
+ Additional libraries may also be necessary depending on whether
+ support for compression, etc., was compiled into the HDF5 Library.
- A summary of the hdf5 installation can be found in the
- libhdf5.settings file in the same directory as the static and/or
- shared hdf5 libraries.
+ A summary of the HDF5 installation can be found in the
+ libhdf5.settings file in the same directory as the static and/or
+ shared HDF5 Libraries.
6. Support
- Support is described in the README file.
+ 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.
+ 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.
+ Versions before 2.8.1 have serious problems allocating registers
+ when functions contain operations on `long long' datatypes.
+ Supplying the `--disable-hsizet' switch to configure (documented
+ in section 4.3.10, "Large (>2GB) vs. small (<2GB) file capability,"
+ above) will prevent HDF5 from using `long long' datatypes 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.
+ 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. Use 5.5.0 or higher.
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.
+ 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.
+ 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.
+ 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.