hdf5/INSTALL
Robb Matzke 071aa057aa [svn-r907] Changes since 19981111
----------------------

./INSTALL
	Added instructions about specifying a path for GNU zlib and
	HDF4 headers and library.

	Added comments for each of the tool names.  Added h5toh4 as a
	tool name.

./configure.in
./conigure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	The config/* scripts get invoked with $CC_BASENAME set the
	base name of the compiler in order to make it easier to handle
	setting compiler flags for different compilers in a big case
	statement.  For instance, if $CC has the value

	    /usr/local/mpi/bin/mpicc -ansi -64

	then $CC_BASENAME will be `mpicc'.  The $CC_BASENAME is not
	set if $CC is not set.

	Fixed alignment in `configure --help'.

	An include and/or library path can be specified for GNU zlib
	if configure can't find it in normal places.  The "normal"
	means wherever your compiler normally searches, including
	search paths you've added through environment variables like
	CPPFLAGS and LDFLAGS.  The INSTALL file has instructions.

	The `-ljpeg' library is detected.

	If `ssize_t' is not found then a #define is added to
	H5config.h similar to what we already do for `size_t'.

	We detect the hdf5 header file `mfhdf.h' and libraries
	`-lmfhdf' and `-ldf' and if found define the H5TOH4 and
	TESTH5TOH4 Makefile variables.  The user can specify an
	include and/or library path. The INSTALL file has
	instructions.

	The `RUNTEST' variable has been split into `RUNSERIAL' and
	`RUNPARALLEL' because these are different commands.  The
	makefile still uses `RUNTEST', which defaults to the RUNSERIAL
	value.  The new testpar/Makefile.in sets RUNTEST to the
	RUNPARALLEL value. The default RUNSERIAL value is empty and
	the default RUNPARALLEL value is `mpirun -np 2'.  These can
	both be overridden in the config/* files.  To make the value
	the empty string set it like `RUNPARALLEL=none' in the
	config/* file.

	The new testpar/Makefile is generated from testpar/Makefile.in

./config/commence.in
	Added the RUNSERIAL and RUNPARALLEL makefile definitions.

./src/Makefile.in
	The `H5detect' program is run with RUNSERIAL, which is empty
	on all platforms except intel-osf1 (ASCI/Red)

./config/conclude.in
	Removed the `.c.a:' implicit rule -- we don't use it any more.

./config/BlankForm
./config/alpha-dec
./config/alpha-dec-osf4.0
./config/freebsd2.2.7
./config/hpux10.20
./config/hpux9.03
./config/intel-osf1
./config/irix5.3
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
	All of these files have been updated to hande multiple
	compilers. Most of them assume `cc' if CC is not set. The
	documentation in `BlankForm' has been updated and
	documentation in the other files refer to `BlankForm'.

	The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra
	library search paths.

./examples/Makefile.in
./test/Makefile.in
./tools/Makefile.in
	Simplified by grouping some dependency information together
	more succinctly.

	The tools Makefile.in has been modified to work with the
	`h5toh4' and `testh5toh4' programs.  Until Paul checks these
	in you may have problems compiling.  If so, just create files
	h5toh4.c and testh5toh4.c that contain:

	    #include <stdio.h>
	    int main(int argc, char *argv[]) {
	        fprintf(stderr, "%s: not implemented\n", argv[0]);
		return 1;
	    }

./src/H5public.h
	Removed definition for `ssize_t' since this is now handled by
	configure in H5config.h with a #define.


./MANIFEST
./testpar/Makefile.in	[NEW]
	Added a makefile for parallel tests.  As soon as we get this
	working properly we can remove the other four makefiles in
	that directory and maintain just one.
1998-11-13 10:06:06 -05:00

195 lines
7.2 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'.
* 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.