hdf5/release_docs/INSTALL

675 lines
26 KiB
Plaintext
Raw Normal View History

[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
Instructions for the Installation of HDF5 Software
==================================================
WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any problems with the HDF5
installation please contact help@hdfgroup.org
CONTENTS
--------
1. Obtaining HDF5
2. Warnings about compilers
2.1. GNU (Intel platforms)
2.2. DEC
2.3. SGI (Irix64 6.2)
2.4. Windows/NT
3. Quick installation
3.1. Windows
3.2. RedStorm (Cray XT3)
4. HDF5 dependencies
4.1. Zlib
4.2 Szip
4.3. MPI and MPI-IO
5. Full installation instructions for source distributions
5.1. Unpacking the distribution
5.1.1. Non-compressed tar archive (*.tar)
5.1.2. Compressed tar archive (*.tar.Z)
5.1.3. Gzip'd tar archive (*.tar.gz)
5.1.4. Bzip'd tar archive (*.tar.bz2)
5.2. Source vs. Build Directories
5.3. Configuring
5.3.1. Specifying the installation directories
5.3.2. Using an alternate C compiler
5.3.3. Configuring for 64-bit support
5.3.4. Additional compilation flags
5.3.5. Compiling HDF5 wrapper libraries
5.3.6. Specifying other programs
5.3.7. Specifying other libraries and headers
5.3.8. Static versus shared linking
5.3.9. Optimization versus symbolic debugging
5.3.10. Large (>2GB) vs. small (<2GB) file capability
5.3.11. Parallel vs. serial library
5.3.12. Threadsafe capability
5.3.13. Backward compatibility
5.3.14. Network stream capability
5.4. Building
5.5. Testing
5.6. Installing
5.7 Building and testing with Intel compilers
5.8 Building and testing with PGI compilers
6. Using the Library
7. Support
*****************************************************************************
1. Obtaining HDF5
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The latest supported public release of HDF5 is available from
ftp://hdf.ncsa.uiuc.edu/HDF5/current/src. For Unix platforms, it is
available in tar format compressed with gzip. For Microsoft Windows,
it is in ZIP format.
2000-12-05 06:22:11 +08:00
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://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots in a limited
number of formats.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
2. Warnings about compilers
2000-12-05 06:22:11 +08:00
OUTPUT FROM THE FOLLOWING COMPILERS SHOULD BE EXTREMELY SUSPECT
WHEN USED TO COMPILE THE HDF5 LIBRARY, ESPECIALLY IF
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
OPTIMIZATIONS ARE ENABLED. IN ALL CASES, HDF5 ATTEMPTS TO WORK
2000-12-05 06:22:11 +08:00
AROUND THE COMPILER BUGS BUT THE HDF5 DEVELOPMENT TEAM MAKES NO
GUARANTEES THAT THERE ARE OTHER CODE GENERATION PROBLEMS.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
2.1. GNU (Intel platforms)
2000-12-05 06:22:11 +08:00
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.
2.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
2000-12-05 06:22:11 +08:00
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.
2.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.
2.4. Windows/NT
2000-12-05 06:22:11 +08:00
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.
3. Quick installation
2000-12-05 06:22:11 +08:00
For those that don't like to read ;-) the following steps can be
used to configure, build, test, and install the HDF5 library,
header files, and support programs.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ gunzip < hdf5-1.6.0.tar.gz | tar xf -
$ cd hdf5-1.6.0
$ make check
$ make install
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
3.1. Windows
Users of Microsoft Windows should see the INSTALL_Windows for
2000-12-05 06:22:11 +08:00
detailed instructions.
3.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.
2000-12-05 06:22:11 +08:00
4. HDF5 dependencies
4.1. Zlib
2000-12-05 06:22:11 +08:00
The HDF5 library has a predefined compression filter that uses
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
the "deflate" method for chunked datatsets. If zlib-1.1.2 or
2000-12-05 06:22:11 +08:00
later is found then 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).
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
4.2. Szip
The HDF5 library has a predefined compression filter that uses
the extended-Rice lossless compression algorithm for chunked
datatsets. For more information about Szip compression and license terms
see http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html.
Precompiled szip binaries for each supported platform and source tar ball
file can be found at ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
4.3. MPI and MPI-IO
2000-12-05 06:22:11 +08:00
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 then only a serial version of HDF5 can be
built.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5. Full installation instructions for source distributions
5.1. Unpacking the distribution
2000-12-05 06:22:11 +08:00
The HDF5 source code is distributed in a variety of formats which
can be unpacked with the following commands, each of which
creates an `hdf5-1.6.0' directory.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.1.1. Non-compressed tar archive (*.tar)
2000-12-05 06:22:11 +08:00
$ tar xf hdf5-1.6.0.tar
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.1.2. Compressed tar archive (*.tar.Z)
2000-12-05 06:22:11 +08:00
$ uncompress -c < hdf5-1.6.0.tar.Z | tar xf -
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.1.3. Gzip'd tar archive (*.tar.gz)
2000-12-05 06:22:11 +08:00
$ gunzip < hdf5-1.6.0.tar.gz | tar xf -
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.1.4. Bzip'd tar archive (*.tar.bz2)
2000-12-05 06:22:11 +08:00
$ bunzip2 < hdf5-1.6.0.tar.bz2 | tar xf -
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.2. Source vs. Build Directories
2000-12-05 06:22:11 +08:00
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).
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.
5.3. Configuring
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
HDF5 uses the GNU autoconf system for configuration, which
detects various features of the host system and creates the
2000-12-05 06:22:11 +08:00
Makefiles. On most systems it should be sufficient to say:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
$ ./configure OR
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ sh configure
2000-12-05 06:22:11 +08:00
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
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.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.3.1. Specifying the installation directories
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
Typing `make install' will install the HDF5 library, header
files, examples, and support programs in /usr/local/lib,
/usr/local/include, /usr/local/doc/hdf5/examples, and
/usr/local/bin. To use a path other than
2000-12-05 06:22:11 +08:00
/usr/local specify the path with the `--prefix=PATH' switch:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ ./configure --prefix=$HOME
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
2000-12-05 06:22:11 +08:00
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.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
HDF5 can be installed into a different location than the prefix
specified at configure time; see the section on Installing HDF5
for more details.
5.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:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ 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.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ CC=/usr/local/mpi/bin/mpicc ./configure
5.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.
On Irix64 the default compiler is `cc'. To use an alternate
compiler specify it with the CC variable:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ 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:
$ 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
5.3.4. Additional compilation flags
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
If addtional flags must be passed to the compilation commands
2000-12-05 06:22:11 +08:00
then specify those flags with the CFLAGS variable. For instance,
to enable symbolic debugging of a production version of HDF5 one
might say:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ CFLAGS=-g ./configure --enable-production
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.3.5. Compiling HDF5 wrapper libraries
2000-12-05 06:22:11 +08:00
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
2000-12-05 06:22:11 +08:00
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 F9X variable:
2000-12-05 06:22:11 +08:00
$ F9X=/usr/local/bin/g95 ./configure --enable-fortran
2000-12-05 06:22:11 +08:00
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: On Cray T3Es the following files should be modified before
building the Fortran Library:
fortran/src/H5Dff.f90
fortran/src/H5Aff.f90
fortran/src/H5Pff.f90
Check for "Comment if on T3E ..." comment and comment out
specified lines or use a patch from HDF FTP server
ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
Note: See sections 5.7 and 5.8 for how to build Fortran Library with
PGI or Intel compilers.
5.3.6. Specifying other programs
2000-12-05 06:22:11 +08:00
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:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ 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
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
detected by configure.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
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:
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
1. Copy the bin/install-sh program to your $HOME/bin
2000-12-05 06:22:11 +08:00
directory, name it `install', and make sure that $HOME/bin
is searched before the system bin directories.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
2. Specify the full path name of the `install-sh' program
2000-12-05 06:22:11 +08:00
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.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
5.3.7. Specifying other libraries and headers
2000-12-05 06:22:11 +08:00
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:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ CPPFLAGS=-I/home/robb/include \
LDFLAGS=-L/home/robb/lib \
./configure
2000-12-05 06:22:11 +08:00
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:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
$ 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 4.2). To enable
Szip compression, HDF5 library has to be configured and build using
Szip Library
$ ./configure --with-szlib=/Szip_Install_Directory
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.3.8. Static versus shared linking
2000-12-05 06:22:11 +08:00
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'.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ ./configure --disable-shared
Shared C++ and Fortran libraries will be built if shared libraries
are enabled.
2000-12-05 06:22:11 +08:00
To build only statically linked executables on platforms which
support shared libraries, use the `--enable-static-exec' flag.
$ ./configure --enable-static-exec
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.3.9. Optimization versus symbolic debugging
2000-12-05 06:22:11 +08:00
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
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
`--enable-production=profile'.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
$ ./configure --disable-production #symbolic debugging
$ ./configure --enable-production #optimized code
$ ./configure --enable-production=profile #for use with gprof
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
2000-12-05 06:22:11 +08:00
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).
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
$ ./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
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
HDF5 is also able to print a trace of all API function calls,
2000-12-05 06:22:11 +08:00
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).
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
5.3.10. Large (>2GB) vs. small (<2GB) file capability
2000-12-05 06:22:11 +08:00
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:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ ./configure --disable-hsizet
5.3.11. Parallel vs. serial library
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
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.
[svn-r1115] Changes since 19990302 ---------------------- ./INSTALL ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Improvements for parallel library. If you have a properly working mpicc you should be able to just say: $ CC=mpicc ./configure and you will see checking for mpirun... /usr/local/mpi/bin/mpirun checking for parallel support files... skipped checking how to run on one processor... /usr/local/mpi/bin/mpirun -np 1 checking how to run in parallel... /usr/local/mpi/bin/mpirun -np $$NPROCS To quote from the INSTALL file.... *** Parallel vs. serial library The HDF5 library can be configured to use MPI and MPI-IO for parallelizm on a distributed multi-processor system. The easy way to do this is to have a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that executable as the value of the CC environment variable: [NOTE: mpcc is not tested yet] $ CC=mpcc ./configure $ CC=/usr/local/mpi/bin/mpicc ./configure If no such wrapper script is available then you must specify your normal C compiler along with the distribution of MPI/MPI-IO which is to be used (values other than `mpich' will be added at a later date): $ ./configure --enable-parallel=mpich If the MPI/MPI-IO include files and/or libraries cannot be found by the compiler then their directories must be given as arguments to CPPFLAGS and/or LDFLAGS: $ CPPFLAGS=-I/usr/local/mpi/include \ LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \ ./configure --enable-parallel=mpich If a parallel library is being built then configure attempts to determine how to run a parallel application on one processor and on many processors. If the compiler is mpicc and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpirun' from the same directory as `mpicc': RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1 RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2} The `$${NPROCS:=2}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 2). ./testpar/Makefile.in Saying `make check' (or `make test') will run the tests on two processors by default. If you define NPROCS then that many processors are used instead: $ NPROCS=4 make check ./configure.in Fixed (hopefully) bugs with detecting whether __attribute__ and __FUNCTION__ are special keywords for the compiler. ./Makefile.in Saying `make install' from the top level directory shows instructions for using shared libraries. ./config/commence.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Moved the @top_srcdir@ into the makefiles because it was expanded too early and had the wrong value. ./INSTALL Added a warning that if the wrong version of hdf4 tools are installed then `make check' will fail in the tools directory.
1999-03-04 07:17:48 +08:00
5.3.12. Threadsafe capability
The HDF5 library can be configured to be thread-safe (on a very
large scale) with the 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.
5.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'
2000-12-05 06:22:11 +08:00
configure flag. This allows existing code to be compiled with the
v1.8 library without requiring immediate changes to the
2000-12-05 06:22:11 +08:00
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+.
5.3.14. Network stream capability
2000-12-05 06:22:11 +08:00
The HDF5 library can be configured with a network stream file
driver with the `--enable-stream-vfd' configure flag. This option
compiles the "stream" Virtual File Driver into the main library.
See the documentation on the Virtual File Layer for more details
about the use of this driver. The network stream capability is
enabled by default, except for use in parallel or with a parallel
compiler, where it is disabled. Explicitly enabling Stream-VFD
will allow for its use in parallel.
5.4. Building
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The library, confidence tests, and programs can be build by
2000-12-05 06:22:11 +08:00
saying just:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ make
2000-12-05 06:22:11 +08:00
Note that if you supplied some other make command via the MAKE
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
variable during the configuration step then that same command
must be used here.
2000-12-05 06:22:11 +08:00
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
th `-j' since GNU make will turn it off for recursive invocations
of make.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ make -j -l6
5.5. Testing
2000-12-05 06:22:11 +08:00
HDF5 comes with various test suites, all of which can be run by
saying
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
$ make check
To run only the tests for the library change to the `test'
2000-12-05 06:22:11 +08:00
directory before issuing the command. Similarly, tests for the
parallel aspects of the library are in `testpar' and tests for
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
the support programs are in `tools'.
2000-12-05 06:22:11 +08:00
Temporary files will be deleted by each test when it complets,
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
but may continue to exist in an incomplete state if the test
2000-12-05 06:22:11 +08:00
fails. To prevent deletion of the files define the HDF5_NOCLEANUP
environment variable.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
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.
5.6. Installing
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The HDF5 library, include files, and support programs can be
2000-12-05 06:22:11 +08:00
installed in a (semi-)public place by saying `make install'. The
files are installed under the directory specified with
`--prefix=DIR' (or '/usr/local') in directories named `lib',
`include', and `bin'. The prefix directory must exist prior to
`make install', but its subdirectories are created automatically.
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.
$ 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, `/usr/local'), 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:
$ 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.
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The library can be used without installing it by pointing the
compiler at the `src' and 'src/.libs' directory for include files and
2000-12-05 06:22:11 +08:00
libraries. However, the minimum which must be installed to make
the library publically available is:
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The library:
./src/.libs/libhdf5.a
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The public header files:
./src/H5*public.h, ./src/H5public.h
./src/H5FD*.h except ./src/H5FDprivate.h,
./src/H5api_adpt.h
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
The main header file:
./src/hdf5.h
The configuration information:
2001-03-29 22:39:55 +08:00
./src/H5pubconf.h
[svn-r673] Changes since 19980908 ---------------------- ./COPYING Reformatted as text instead of C. Removed zlib crew from the list of contributors since no zlib code is actually in the hdf5 library. ./INSTALL ./INSTALL.ascired ./MANIFEST Minor updates for Beta release including version number change. ./INSTALL_MAINT Added information about making a release. ./RELEASE Updated function list based on public header files. ./bin/checkposix Got rid of complaints about some obvious things. ./doc/html/H5.api.html ./doc/html/RM_H5F.html ./src/H5F.c ./src/H5Fpublic.h ./test/tfile.c Changed H5Fget_create_template() and H5Fget_access_template() to H5Fget_create_plist() and H5Fget_access_plist() since that conforms better to lots of other names. ./doc/html/Datatypes.html ./doc/html/ExternalFiles.html ./doc/html/Files.html ./doc/html/H5.api.html ./doc/html/H5.sample_code.html ./doc/html/RM_H5F.html ./doc/html/RM_H5Front.html Changed `template' to `property list', etc. ./doc/html/Ragged.html [NEW] Documentation for ragged arrays. ./src/H5Iprivate.h ./src/H5Ipublic.h ./src/H5I.c Changed the scope of some symbols to be more local. ./src/H5.c ./src/H5AC.c ./src/H5D.c ./src/H5E.c ./src/H5F.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5I.c ./src/H5O.c ./src/H5Ocomp.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5P.c ./src/H5S.c ./src/H5Shyper.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5V.c ./src/H5Z.c ./src/H5private.h Fixed some violations of our naming scheme by adding HD to the beginning of all Posix functions.
1998-09-09 03:15:44 +08:00
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
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)
5.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=""
Change these lines to this:
# 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.
* 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.)
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
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)
* 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/
5.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:
# How to pass a linker flag through the compiler.
wl=""
Change these lines to this:
# 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.
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.
6. Using the Library
Please see the User Manual in the doc/html directory.
2000-12-05 06:22:11 +08:00
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
2000-12-05 06:22:11 +08:00
libhdf5.settings file in the same directory as the static and/or
shared hdf5 libraries.
7. Support
[svn-r1112] Changes since 19990301 ---------------------- ./INSTALL Reorganized and added some additional examples. ./MANIFEST ./aclocal.m4 [NEW] ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./bin/ltconfig [NEW] ./bin/ltmain.sh [NEW] Added tests to determine how to compile shared libraries and how to link programs with them before the libraries are installed. Also how to install and uninstall shared libraries. The configure step also prints the names of the config files it's trying to load for easier debugging. ./bin/config.guess ./bin/config.sub Replaced with a newer version from GNU. The changes we made to that file to report `irix6.x' and `FreeBSD' without version numbers have been incorporated into configure.in instead. In the future, do not change these two files (see the top of configure.in instead). By the way, this update was required to get shared libraries working. ./config/linux [REMOVED] ./config/linux-gnulibc1 [NEW] ./config/linux-gnu [NEW] ./config/alpha-dec [REMOVED] ./config/alpha-dec-osf4.0 [REMOVED] ./config/dec-osf4.x [NEW] ./config/irix5.3 [REMOVED] ./config/irix5.x [NEW] ./config/irix64 [REMOVED] ./config/freebsd Moved config files around to agree with output from the new config.guess. The linux file was split into gnu (RedHat), gnulibc1, and gnulibc2 versions. The alpha-dec file was removed (I think it was unused) and the alpha-dec-osf4.0 was changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and the irix64 file was renamed to irix6.x. The freebsd file was changed to point to linux-gnulibc1. These changes were tested on: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 OSF1 4.0 ./config/alphaev56-dec-osf4.x ./config/irix64 Added warnings similar to linux/freebsd about using compilers with known bugs. ./config/commence.in ./config/conclude.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Added definitions for shared libraries. This has been tested on the following systems: Linux 2.0 Linux 2.1 FreeBSD 3.2 Irix 5.3 Irix64 6.2 Irix64 6.4 HP/UX 10.20 static only OSF1 4.0 If you want to disable use of shared libraries (you probably do for development purposes since it takes a lot longer to compile and because you have to run dynamically linked programs in a special way if the library hasn't been installed) then add `--disable-shared' to the configure command line. This is all documented in the INSTALL file. ./bin/release Temprarily commented out the MANIFEST checking when running under svf since svf is about to be replaced by a newer version. This change only affects error checking during the release process. ./Makefile.dist ./Makefile.in Added `make check' which does the same thing as `make _test' since the former is endorsed by the GNU coding style and people are used to it. The old `make _test' still works too (and so does `make test' if you use GNU make).
1999-03-03 01:15:35 +08:00
Support is described in the README file.