summaryrefslogtreecommitdiffstats
path: root/INSTALL
blob: 353d42d997f9594e4974b1c222db04f85f0a10be (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
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


Step 1. Unpack the source tree.

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

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


Step 2. Configure makefiles.

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

	$ ./configure

      Note: you may need to say `sh configure'.

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

	$ ./configure --prefix=/usr

      Note: HDF5 can be used without installing it.

    * Early releases of the library will be compiled with some
      debugging features enabled (see output from configure).  The
      debugging can be turned off by specifying `--disable-debug' as a
      configure switch.  Also, to compile an optimized version of the
      library one can say `--enable-production'.

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

    * You can also override detection of certain things with
      environment variables:

        CC              Name of the C compiler to use.
        CFLAGS          Alternate C compiler flags.
        CPPFLAGS        Alternate C preprocessor flags.
        MAKE            Name of the make(1) program.

      For instance it is common to specify the name of the C compiler, 
      C proprocessor flags, and compiler flags (add `env' to the
      beginning of this command if you're running a csh-like shell)

        $ CC=gcc CPPFLAGS=-DNDEBUG CFLAGS="-Wall -O3" ./configure

    * Settings for compiler flags (and a few other things) can also be
      specified in config files located in the config directory.  The
      name of the file is the result of running ./bin/config.guess.
      Use config/BlankForm as a template.

    * You can see a list of other configuration options by saying

	$ ./configure --help


Step 3. Compile library, tests, and programs.

    * Build library targets by saying

        $ make

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

      Note: If you're re-building the library after changing some
      files and you're not using GNU make and gcc, then you should say
      `make clean' from the top directory between each build attempt
      since the development Makefiles don't have complete dependency
      information yet.

      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.

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


Step 5. Install public files.

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

        $ make install

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

Step 6. Subscribe to mailing lists.

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