|
|
|||
|
||||
Who has time to read long installation manuals these days?
For netCDF-4 to work, you must have the HDF5 1.8.1 release. You must also have the zlib compression library, version 1.2.3 (or better). Both of these packages are available from the netCDF-4 ftp site at ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.
Make sure you run “make check” for the HDF5 and zlib distributions. They are very well-behaved distributions, but sometimes the build doesn't work (perhaps because of something subtly misconfigured on the target machine).
NetCDF-4 will not work correctly without these two libraries. NetCDF-4 is completely dependent on HDF5 as its data storage layer, when working with netCDF-4/HDF5 format files.
Furthermore, HDF5 and zlib must be installed in the same directory.
Optionally, you can also use the szip 2.0 (a.k.a. szlib). There are license restrictions on the use of szip, see the HDF5 web page: http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/Commercial_szip.html.
These license restrictions seem to apply to commercial users who are writing data. (Data readers are not restricted.) But here at NetCDF World Headquarters, in Sunny Boulder, Colorado, there are no lawyers, only programmers, so please read the szip documents for the license agreement to see how it applies to your situation.
If you wish to use szip, get it from the HDF5 1.8.1 download page: http://hdfgroup.org/HDF5//HDF5/release/beta/obtain518.html.
If “make check” fails for either zlib or HDF5, the problem must be resolved before the netCDF-4 installation can continue. For HDF5 problems, send email to the HDF5 help desk: help@hdfgroup.org.
You must build zlib and (optionally) szip before building HDF5.
Build zlib with the usual:
./configure --prefix=/home/ed/local
make check install
(If you want a shared library build of HDF5, you must set CFLAGS to -fPIC before building zlib.)
Then you build HDF5, specifying the location of the zlib library:
./configure --with-zlib=/home/ed/local --prefix=/home/ed/local --disable-shared
make check install
This builds a static version of the HDF5 library. For a shared build, don't use –disable-shared. For a shared build to work you must have compiled zlib (and, optionally, szip) with CFLAGS=-fPIC.
If you are building HDF5 with szip, then include the –with-szip= option, with the directory holding the szip library.
After HDF5 is done, build netcdf-4, specifying the location of the HDF5, zlib, and (if built into HDF5) the szip libraries with the –with-hdf5, –with-zlib, and –with-szlib option, and turning on netCDF-4 features with the –enable-netcdf-4 option:
./configure --enable-netcdf-4 --with-hdf5=/home/ed/local --with-zlib=/home/ed/local --prefix=/home/ed/local
make check install
(If I had built HDF5 with szip library, I would also have added the –with-szlib= option.)
The configure script will try to find necessary tools in your path. When you run configure you may optionally use the –prefix argument to change the default installation directory. For example, the above examples install the zlib, HDF5, and netCDF-4 libraries in /home/ed/local/lib, the header file in /home/ed/local/include, and the utilities in /home/ed/local/bin.
The default install root is /usr/local (so there's no need to use the prefix argument if you want the software installed there).
Without the –enable-netcdf-4 argument, the netCDF-4 HDF5 features will not be available. Without the –with-hdf5 and –with-zlib options, netCDF-4 will not know where to find HDF5.
By default the netCDF configuration will build static libraries only. For shared libraries as well, use the –enable-shared option to configure.
To use netCDF-4 you must link to all the libraries, netCDF, HDF5, zlib, and (if used with HDF5 build) szip. This will mean -L options to your build for the locations of the libraries, and -l (lower-case L) for the names of the libraries.
For example, one user reports that she can build other applications with netCDF-4 by setting the LIBS envoronment variable:
LIBS='-L/X/hdf5-1.8.1/lib -lhdf5_hl -lhdf5 -lz -lm -L/X/szip-2.1/lib -lsz'
| Contact Us Site Map Search Terms and Conditions Privacy Policy Participation Policy | ||||||
|
||||||