mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
./INSTALL_MAINT ./README ./RELEASE Partially updated for second alpha, but haven't updated version numbers yet. ./src/H5.c ./src/H5A.c ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5F.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5I.c ./src/H5MM.c ./src/H5MMprivate.h ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Olayout.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5S.c ./src/H5T.c ./src/H5Tconv.c ./src/H5detect.c ./test/hyperslab.c ./test/istore.c Changed memory allocation functions so they fail instead of dumping core. The `x' was removed from the name to remind us of that: H5MM_xmalloc() -> H5MM_malloc(), etc. H5MM_calloc() takes one argument like H5MM_malloc() instead of two like calloc() because we almost always called it with `1' for one of the arguments anyway. The only difference between the two functions is that H5MM_calloc() returns memory which is initialized to zero. ./src/H5Gent.c ./src/H5Gprivate.h Removed H5G_ent_calloc() since it wasn't used. ./src/H5Fistore.c Fixed a bug found by Albert. Thanks, Albert! This fix combined with the changes to memory allocation prevent the library from failing an assertion if the application uses an unreasonable size for chunks (like Alberts 10000x10000x4). ./src/H5MF.c ./src/H5MFprivate.h Changed H5MF_free() to H5MF_xfree() since calling it with an undefined address is allowed.
146 lines
5.2 KiB
Plaintext
146 lines
5.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
|
|
$ 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 makefiles.
|
|
|
|
* HDF5 uses the GNU autoconf program for configuration. Most
|
|
installations can be configured by typing just (from the
|
|
hdf5-1.0.0a directory)
|
|
|
|
$ ./configure
|
|
|
|
Note: you may need to say `sh configure'.
|
|
|
|
* 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
|
|
|
|
Note: HDF5 can be used without installing it.
|
|
|
|
* Early releases of the library will be compiled with some
|
|
debugging features enabled (see output from configure). The
|
|
debugging can be turned off by specifying `--disable-debug' as a
|
|
configure switch. Also, to compile an optimized version of the
|
|
library one can say `--enable-production'.
|
|
|
|
* 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.
|
|
|
|
* You can also override detection of certain things with
|
|
environment variables:
|
|
|
|
CC Name of the C compiler to use.
|
|
CFLAGS Alternate C compiler flags.
|
|
CPPFLAGS Alternate C preprocessor flags.
|
|
MAKE Name of the make(1) program.
|
|
|
|
For instance it is common to specify the name of the C compiler,
|
|
C proprocessor flags, and compiler flags (add `env' to the
|
|
beginning of this command if you're running a csh-like shell)
|
|
|
|
$ CC=gcc CPPFLAGS=-DNDEBUG CFLAGS="-Wall -O3" ./configure
|
|
|
|
* Settings for compiler flags (and a few other things) can also be
|
|
specified in config files located in the config directory. The
|
|
name of the file is the result of running ./bin/config.guess.
|
|
Use config/BlankForm as a template.
|
|
|
|
* The library can print the names, arguments and values, and
|
|
return value from all API functions. The code that does this is
|
|
enabled with the `--enable-tracing' configuration switch. In
|
|
order to actually see tracing output one should set the
|
|
environment variable HDF5_TRACE to a file descriptor number such
|
|
as `2'.
|
|
|
|
* You can see a list of other configuration options by saying
|
|
|
|
$ ./configure --help
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|