hdf5/INSTALL
Robb Matzke 4354606d1e [svn-r949] Changes since 19981124
----------------------

./src/H5T.c
	Fixed a typo in the registration of the `unsigned char' to
	`unsigned long long' type conversion that caused it to not be
	registered, falling back to software whenever that conversion
	path was taken.

./MANIFEST
./test/Makefile.in
./test/testhdf5.c
./test/testhdf5.h
./test/theap.c		[REMOVED]
./test/lheap.c		[NEW]
./test/tohdr.c		[REMOVED]
./test/ohdr.c		[NEW]
./test/tstab.c		[REMOVED]
./test/stab.c		[NEW]
	Removed the `t' from the front of these names and made each
	test a stand-alone program following the format of most of the
	other tests.

./test/big.c
	Uses libh5test.a but always sets the low-level driver to 1GB
	file family.

	The `#if' near the top to set the data space to 8GB has been
	simplified now that `long_long' is always defined and the
	error message is improved when `long_long' isn't wide enough.

	Cleanup code was added to the error handling.

./test/gheap.c
./test/istore.c
	Uses libh5test.a.  Added error cleanup code.

./test/dtypes.c
./test/h5test.c
	Added 68 new tests that check hardware and software
	conversions between `long long' and `unsigned long long' and
	the other integer types.  The tests only run on machines where
	sizeof(long_long)!=sizeof(long).  We test a total of 180
	different integer conversions, half in hardware and half in
	software.

	Cut down the number of times each test is run from 5 to 1 so
	it doesn't take so long.  If you want to run more times
	there's a constant that can be changed at the top of the file.

./test/extend.c
	Removed unused variable.

./test/h5test.c
./test/h5test.h
./test/external.c
./test/fillval.c
	The h5_cleanup() returns true/false so it can be used in an `if'
	statement to clean up additional files.

./doc/html/Environment.html
	Indented.  Added HDF5_PREFIX and HDF5_DRIVER descriptions.

./src/H5P.c
	Changed the trace type for the second argument from `Iu' to
	`x' since it's an output parameter.

./INSTALL
	Added a warning that the GNU zlib that comes with the latest
	version of HDF4 is too old to use with HDF5 and must be
	renamed so configure doesn't see it when `--enable-hdf4' is
	used.
1998-11-25 09:58:22 -05:00

197 lines
7.3 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
$ sh configure
$ make # Builds library and tools
$ make test # Builds and runs confidence tests.
# NOTE: if fails, run the
# command in the test directory
$ 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 available; otherwise no
compression filters will be predefined.
Step 1. Unpack the source tree.
* The tarball will unpack into an hdf5-1.1.0 directory with one of
the following commands:
$ tar xf hdf5-1.1.0.tar OR
$ gunzip <hdf5-1.1.0.tar.gz |tar xf - OR
$ bunzip2 <hdf5-1.1.0.tar.bz2 |tar xf - OR
$ uncompress -c <hdf5-1.1.0.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.1.0 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.
* Configure will look for the GNU zlib (a compression library) in
the standard places for your environment. If it's installed in
a non-standard place then absolute path names can be specified
with `--with-zlib=INCDIR,LIBDIR' for the include file and/or
library. To prevent detection of zlib use `--without-zlib'.
* The HDF5-to-HDF4 conversion tool requires the HDF4 library and header
files which are auto-detected by configure. If they are in a
non-standard place then absolute path names can be specified with
`--with-hdf4=INCDIR,LIBDIR' for the include file and/or library. To
prevent detection of hdf4 use `--without-hdf4'. Beware of the GNU zlib
that comes with hdf4 -- it's too old to use with hdf5 (hdf4 tools can be
linked with the newer versions of zlib).
* 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.
* 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.
* 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.
* The minimum which must be installed are:
The library:
./src/libhdf5.a
The public header files:
./src/H5*public.h
The main header file:
./src/hdf5.h
The configuration information:
./src/H5config.h
* Additional useful things which are installed:
The tools library:
./tools/libh5tools.a
Some tools:
./tools/h5ls (list file contents)
./tools/h5dump (dump file contents)
./tools/h5repart (repartition file families)
./tools/h5toh4 (hdf5 to hdf4 file converter)
./tools/h5debug (low-level file debugging)
./tools/h5import (a demo)
Step 6. Subscribe to mailing lists.
* Subscribe to the mailing lists described in the README file.