mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-03 02:32:04 +08:00
e455040749
conditionally included at compile time. Tracing and debugging share the same environment variable. All is documented in Debugging.html.
152 lines
5.7 KiB
Plaintext
152 lines
5.7 KiB
Plaintext
This file contains instructions for the installation of HDF5 on
|
|
Unix-like systems. First, one must obtain a tarball of the HDF5
|
|
release from the ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5 repository.
|
|
The files are available in uncompressed tar, gzip, bzip2, and compress
|
|
formats.
|
|
|
|
For those that like to live dangerously and don't like to read ;-) you
|
|
can do the following:
|
|
|
|
$ tar xf hdf5-1.0.0a.tar
|
|
$ cd hdf5-1.0.0a
|
|
$ make test
|
|
$ make install # Optional
|
|
|
|
Note:
|
|
For the users of the Intel TFLOPS machine, a special sequence of steps
|
|
for the install may be found in the file: INSTALL.ascired.
|
|
|
|
=======
|
|
Step 0: Install optional third-party packages.
|
|
|
|
* GNU zlib compression library, version 1.0.2 or later is used for
|
|
the `deflate' compression method. If libz.a cannot be found then
|
|
this form of compression is not compiled into the library.
|
|
|
|
Step 1. Unpack the source tree.
|
|
|
|
* The tarball will unpack into an hdf5-1.0.0a directory with one of
|
|
the following commands:
|
|
|
|
$ tar xf hdf5-1.0.0a.tar OR
|
|
$ gunzip <hdf5-1.0.0a.tar.gz |tar xf - OR
|
|
$ bunzip2 <hdf5-1.0.0a.tar.bz2 |tar xf - OR
|
|
$ uncompress -c <hdf5-1.0.0a.tar.Z |tar xf -
|
|
|
|
Step 2. Configure.
|
|
|
|
* HDF5 uses the GNU autoconf program for configuration. Most
|
|
installations can be configured by typing just (from the
|
|
hdf5-1.0.0a directory)
|
|
|
|
$ sh configure
|
|
|
|
|
|
* The configuration process can be controlled through environment
|
|
variables, command-line switches, and host configuration files.
|
|
For a complete list of switches say `sh configure --help'.
|
|
|
|
* 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. Not all hosts require a host configuration file.
|
|
|
|
* The C compiler and flags, the `ar' and `ranlib' program names,
|
|
and the `make' program can be specified with environment
|
|
variables if configure doesn't properly detect them and they are
|
|
not defined in a host config file.
|
|
|
|
CC Name of the C compiler.
|
|
CFLAGS Switches for the C compiler.
|
|
CPPFLAGS Additional switches for the .c -> .o step.
|
|
AR Name of the `ar' program.
|
|
RANLIB Name of the `ranlib' program or `:' if none.
|
|
MAKE Name of the `make' program (GNU make is preferred)
|
|
|
|
* This version of HDF5 is normally built with various debugging
|
|
code enabled. To turn it off add the `--disable-debug' switch
|
|
to the configure command. Even if debugging support is compiled
|
|
into the library one must still enable the code at runtime with
|
|
the HDF5_DEBUG environment variable (see Debugging.html).
|
|
|
|
* This version of HDF5 is normally built with support for symbolic
|
|
debugging with dbx or gdb and without compiler optimization
|
|
switches. To disable symbolic debugging and enable
|
|
optimizations add `--enable-production' to the configure
|
|
command.
|
|
|
|
* This version of HDF5 is normally built with the ability to print
|
|
the names, arguments, and return values of all API functions
|
|
when they're called. For more information refer to the
|
|
Debugging.html file. To disable tracing support add
|
|
`--disable-trace' to the configure command.
|
|
|
|
* Old versions of gcc (<2.8.0) may experience register allocation
|
|
problems on some architectures. If this happens then the
|
|
`--disable-hsizet' can be given but the resulting library will
|
|
be unable to handle datasets larger than 4GB.
|
|
|
|
* By default libraries, include files, programs, and documentation
|
|
are installed (when one says `make install') under
|
|
/usr/local/lib, /usr/local/include, /usr/local/bin, and
|
|
/usr/local/man. However, if you want them in some other
|
|
location you can specify a prefix to use instead of /usr/local.
|
|
For instance, to install in /usr/lib, /usr/include, /usr/bin,
|
|
and /usr/man one would say
|
|
|
|
$ ./configure --prefix=/usr
|
|
|
|
The library can be used directly from the source tree without
|
|
installing it.
|
|
|
|
Step 3. Compile library, tests, and programs.
|
|
|
|
* Build library targets by saying
|
|
|
|
$ make
|
|
|
|
Note: If you supplied some other make command through the MAKE
|
|
environment variable in the previous step then use that command
|
|
instead. The same applies below.
|
|
|
|
Note: 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.
|
|
|
|
Step 4. Run confidence tests.
|
|
|
|
* All confidence tests should be run by saying
|
|
|
|
$ make test
|
|
|
|
The command will fail if any test fails, and one will see the
|
|
word "*FAIL*" in the output.
|
|
|
|
Note: some old versions of make will report that `test is up to
|
|
date'. If this happens then run `make _test' instead or run
|
|
`make test' from within the test directory.
|
|
|
|
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.
|
|
|
|
Step 5. Install public files.
|
|
|
|
* Install the library, header files, and programs by saying:
|
|
|
|
$ make install
|
|
|
|
This step will fail unless you have permission to write to the
|
|
installation directories. Of course, you can use the header
|
|
files, library, and programs directly out of the source tree if
|
|
you like, skipping this step. The directory specified for the
|
|
--prefix switch (or "/usr/local") must exist, but the directories
|
|
under it are created automatically by make.
|
|
|
|
Step 6. Subscribe to mailing lists.
|
|
|
|
* Subscribe to the mailing lists described in the README file.
|
|
|