summaryrefslogtreecommitdiffstats
path: root/INSTALL
blob: 16c364a47cbe2c1e56eca5789797f20da9905855 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
This file contains instructions for the installation of HDF5 on
Unix-like systems.  First, one must obtain a tarball of the HDF5
release from the ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5 repository.
The files are available in uncompressed tar, gzip, bzip2, and compress
formats.

For those that like to live dangerously and don't like to read ;-) you
can do the following:

	$ tar xf hdf5-1.0.0a.tar
	$ cd hdf5-1.0.0a
	$ make test
	$ make install		# Optional

Note:
For the users of the Intel TFLOPS machine, a special sequence of steps
for the install may be found in the file:  INSTALL.ascired.

=======
Step 0: Install optional third-party packages.

    * GNU zlib compression library, version 1.0.2 or later is used for
      the `deflate' compression method. If libz.a cannot be found then
      this form of compression is not compiled into the library.

Step 1. Unpack the source tree.

    * The tarball will unpack into an hdf5-1.0.0a directory with one of
      the following commands:

	$ tar xf hdf5-1.0.0a.tar				OR
	$ gunzip <hdf5-1.0.0a.tar.gz |tar xf -			OR
	$ bunzip2 <hdf5-1.0.0a.tar.bz2 |tar xf -		OR
	$ uncompress -c <hdf5-1.0.0a.tar.Z |tar xf -

Step 2. Configure.

    * HDF5 uses the GNU autoconf program for configuration.  Most
      installations can be configured by typing just (from the
      hdf5-1.0.0a directory)

	$ sh configure


    * The configuration process can be controlled through environment
      variables, command-line switches, and host configuration files.
      For a complete list of switches say `sh configure --help'.

    * Host configuration files are located in the `config' directory
      and are based on architecture name, vendor name, and/or operating
      system which are displayed near the beginning of the `configure'
      output. Not all hosts require a host configuration file.

    * The C compiler and flags, the `ar' and `ranlib' program names,
      and the `make' program can be specified with environment
      variables if configure doesn't properly detect them and they are 
      not defined in a host config file.

	CC	  Name of the C compiler.
	CFLAGS	  Switches for the C compiler.
	CPPFLAGS  Additional switches for the .c -> .o step.
	AR	  Name of the `ar' program.
	RANLIB	  Name of the `ranlib' program or `:' if none.
	MAKE	  Name of the `make' program (GNU make is preferred)

    * This version of HDF5 is normally built with various debugging
      code enabled.  To turn it off add the `--disable-debug' switch
      to the configure command. Even if debugging support is compiled
      into the library one must still enable the code at runtime with
      the HDF5_DEBUG environment variable (see Debugging.html).

    * This version of HDF5 is normally built with support for symbolic 
      debugging with dbx or gdb and without compiler optimization
      switches.  To disable symbolic debugging and enable
      optimizations add `--enable-production' to the configure
      command.

    * This version of HDF5 is normally built with the ability to print
      the names, arguments, and return values of all API functions
      when they're called.  For more information refer to the
      Debugging.html file.  To disable tracing support add
      `--disable-trace' to the configure command.

    * Old versions of gcc (<2.8.0) may experience register allocation
      problems on some architectures.  If this happens then the
      `--disable-hsizet' can be given but the resulting library will
      be unable to handle datasets larger than 4GB.

    * By default libraries, include files, programs, and documentation
      are installed (when one says `make install') under
      /usr/local/lib, /usr/local/include, /usr/local/bin, and
      /usr/local/man.  However, if you want them in some other
      location you can specify a prefix to use instead of /usr/local.
      For instance, to install in /usr/lib, /usr/include, /usr/bin,
      and /usr/man one would say

	$ ./configure --prefix=/usr

      The library can be used directly from the source tree without
      installing it.

Step 3. Compile library, tests, and programs.

    * Build library targets by saying

        $ make

      Note: If you supplied some other make command through the MAKE
      environment variable in the previous step then use that command
      instead. The same applies below.

      Note: When using GNU make you can add `-j -l6' to the make
      command to compile in parallel on SMP machines.  Do not give a
      number after the `-j' since GNU make will turn it off for
      recursive invocations of make.

Step 4. Run confidence tests.

    * All confidence tests should be run by saying

	$ make test

      The command will fail if any test fails, and one will see the
      word "*FAIL*" in the output.

      Note: some old versions of make will report that `test is up to
      date'. If this happens then run `make _test' instead or run
      `make test' from within the test directory.

      Temporary files will be deleted by each test when it completes,
      but may continue to exist in an incomplete state if the test
      fails. To prevent deletion of the files define the
      HDF5_NOCLEANUP environment variable.

Step 5. Install public files.

    * Install the library, header files, and programs by saying:

        $ make install

     This step will fail unless you have permission to write to the
     installation directories.  Of course, you can use the header
     files, library, and programs directly out of the source tree if
     you like, skipping this step.  The directory specified for the
     --prefix switch (or "/usr/local") must exist, but the directories
     under it are created automatically by make.

Step 6. Subscribe to mailing lists.

    * Subscribe to the mailing lists described in the README file.