Supplemental Libraries (Supplibs)

From OpenGrADS
Revision as of 14:57, 1 September 2007 by Dasilva (Talk | contribs) (First crack)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

As features continue to be added to GrADS with each new release, the number of external packages needed for preparing binary distributions has been steadly increasing. Recent efforts to package GrADS within the major Linux distributions has benefit from the package management inherent in these projects; see for example GrADS Package in Fedora Extra mantained by Pratice Dumas. However, GrADS is still primarily released in terms of binary distrbutions. Creating these distributions require a careful build and maintenance of the external packages in the form of static libraries, the so-called supplibs'.

Up to GrADS v1.9beta4, developers have mantained pre-compiled tarballs of the supplibs for the supported platforms, along with sources for those libraries which needed customization. This software is still available at COLA's [[1] anonymous ftp site]. Preparing supplibs for a new platform was an ad-hoc time consuming task, and different platforms had different versions of these external packages, potentially leading to non-uniform behavior among theee builds.

Starting with GrADS v1.9 an effort was made to collect the source code for the supplibs on a [[2] central repository], including a mechansm for building all the external packages with a single command: gmake install . Having all the packages on a single repository allows for a more rigourous configuration management of the supplibs, leading to a uniform set of libraries across the different platforms.

Contents of the Supplibs

Currently the following packages are maintained in the supplibs:

  • Package management:
    • Pkg-config
  • Data format related packages:
    • NetCDF Version 3
    • NetCDF Version 4
    • Udunits Version 1
    • HDF Version 4
    • HDF Version 5
    • Grib2c: Grib 2 client library
  • ONeDAP suite:
    • libdap: core client/server libraries, in C++
    • nc-dap: NetCDF client library
    • gadap: GrADS specific library for accessing station data
  • Basic graphics/images:
    • jpeg
    • jasper
    • libpng
    • gd
  • Compression:
    • zlib
    • szlib: for reading HDF files only (not used for output)
  • Miscelaneous
    • curl (needed by libdap)
    • xml2 (needed by libdap)
    • sunrpc (only needed on cygwin)

Getting the sources

Building the Supplibs

Platform Specific Notes