
$Id: INSTALL 19366 2008-09-08 19:26:40Z jimg $

Updated for version 3.7.3 of the DAP netCDF Client Library.

Installing the NetCDF client library for DAP2

---------------------------------------------------------------------------

BUILDING THE SOFTWARE
REQUIREMENTS
NOTES

---------------------------------------------------------------------------

BUILDING THE SOFTWARE

0) Please skim REQUIREMENTS and NOTES sections of this file
   before reporting problems. Thanks.

1) Type `./configure' at the system prompt. On some systems you may have to
   type `sh configure.' If you installed libdap++ in a directory that's not 
   on your PATH, make sure to add <<libdap++ prefix>>/bin to PATH. 

   By default the software will install in /usr/local/{lib,include,bin,...}
   directories. If you don't want the software under /usr/local, then use the
   --prefix argument of configure to change that to another directory. If you
   don't have root privileges, you will almost certainly need to change this.
   For example, to install under /opt/opendap run configure as
   './configure --prefix=/opt/opendap'

   Our release now supports the 64bit 'large file' format; use --enable-64bit
   to build with that support. Note that this really matters only for local
   access, not acces to remote data sources.

   Use --disable-f77 to suppress building the f77 inteface, although you may
   have to also define the environment variable FC to "" as with the older
   netCDF library's build.

   Our library does not surrently support the f90 or C++ interfaces; email us
   if they are important for your work and would like to see them in the
   library (or if you'd like to help us with adding support for these).

2) Type `make' to build the library and ncdump (a DAP2-enabled version of
   ncdump). 

3) Type 'make install' to install the library. The software will install
   under the prefix directory set in the configuration step above (#1). Note
   that to simplify building and linking software that uses libnc-dap, a
   script named ncdap-config is installed in <prefix>/bin. See ncdap-config
   --help for usage information.

4) Optionally run the tests. You will need CppUnit installed to run the tests
   in the unit-tests directory; you'll need DejaGNU installed to run the
   tests in ncdump. To run the dejagnu tests, use `make check.' If you want
   to run the unit tests, first cd to unit-tests and run 'make check.' If you
   only want to run the regression tests supplied by Unidata, first cd to
   nc_test and run those using 'make check.' The tests are run twice, once
   for local access and once for remote access. The latter can take several
   hours to complete.

   You can change the location of the remote server used by the regression
   tests in nc_test; see configure --help for information about
   --with-data-url. 

REQUIREMENTS

  o You need to have the DAP library version 3.8.x or greater, libcurl, and
    libxml2. If you have installed libdap you should be all set.

  o To build from a fresh SVN checkout, you'll need automake 1.9.2, autoconf
    2.59 (2.57 will probably work and that's what's listed in the configure.ac
    file) and libtool 1.5.6. Earlier versions may work, but may cause
    problems, particularly with the 'distcheck' target for make. Given those
    requirements, use 'autoreconf --force --verbose' and then build as
    described above.

NOTES

  o AIX using the native compiler (thanks to Dan Stromberg and Martin
  Peschke). From Martin:

  Making libdap build on AIX 5.1 ML 4 with xlc_r/xlC_r (appears to be
  sufficient, but may be more than strictly necessary): 
      
    Configuring (/usr/local/lib/libmalloc.a is a library containing GNU
       malloc): 
       
      CC="xlc_r -q64 /usr/local/lib/libmalloc.a"
      CXX="xlC_r -qlanglvl=extended -q64 /usr/local/lib/libmalloc.a"
      OBJECT_MODE=64
      export CC CXX OBJECT_MODE
      ./configure

  o If the build fails because the FORTRAN jackets cannot be built, try
    setting the environment variables FC and FCFLAGS. FC should give the name
    of a FORTRAN compiler and FCFLAGS should hold any options that need to be
    passed to the compiler.

  o DEBUGGING AIDS

    - The OPeNDAP libdap includes the following debugging aids that may be
      of help to you in developing new DODS applications.

    - DBG: simple program instrumentation -- see the file debug.h in
      $DODS_ROOT/include for more information

    - DBG2: more elaborate program instrumentation -- by convention this is
      used for output that is half a page or more, while DEBUG is used for
      single line output.

    - To build with program instrumentation use `--enable-debug=<level>'
      where <level> is 1 or 2.

