Back to top

DAP++ SDK 3.9.2 (13 April 2009)

Submitted by jimg on Mon, 04/13/2009 - 15:15

This version of libdap contains an implementation of DAP 3.2 which introduces the notion of version negotiation to the protocol. A client can announce the version of the protocol it understands and a conforming server will respond appropriately including indicating the version of the protocol used to form the response. A server may respond with a lower version of the protocol than the client announces it understands. You can read about this and other features of DAP 3.x at Other new features implemented by libdap:

  • The DDX for version DAP 3.2 now contains protocol version information and an xmlbase element, in addition to the information held in the HTTP response headers.
  • A constraint expression can now contain quoted portions which provides a way to have any character in a variable name. While this is pretty ugly looking, it addresses a problem that we were previously addressing in a piecemeal fashion. An example of the new (additional) syntax recognized by the CE parser is "my odd name"."% H2O"[10:13] where the structure is name has spaces and the field name begins with a percent sign. By quoting each variable name or field, the dot (.) can be recognized as a separator and not part of a variable name.
  • An ambiguity when constraining an array of structures that contains arrays has been addressed. Such a data type can be constrained using the following: structure[0:4].field[2:7]
  • The library now supports building DDS/DDX responses from more than one data source (e.g., file).
  • Attribute values were being quoted by the library, which broke certain uses of the DDX, particularly those that filtered the DDX using XSLT. Now the quotes are added only to the print representation of the DAS.


Provided as time permits.

Linux Tux Logo Linux (x86_64)
CentOS 5.2, RPMs (gcc 4.1)
Linux Tux Logo Linux (i386)
CentOS 5.2, RPMs (gcc 4.1)

Required packages

The libdap 3.9.2 software requires libcurl 7.10.6, libxml2 2.6.16 and a modern pthreads library. To build from a fresh SVN checkout, you'll need automake 1.10, autoconf 2.61 and libtool 1.5.24.

Linux Tux Logo Linux (x86_64/i386)
Modern versions of Linux come with the needed libraries.
Mac OS/X Mac OS/X 10.4.10 or greater
OS/X 10.4.10 or greater has all of the required libraries you need to build the code. IF you have an older version of OS/X, you may will need to install libxml2; run 'xml2-config --version', if you get a response back that version 2.5.7 or greater is present, you're all set. See the third-party software page or go directly to the libxml2 page if you need the library.
Windows Win32
Our libdap binary distribution provides the required libraries (libcurl, libxml2 and libpthreads). If you have problems getting clients to run check your paths. If the problems persist, contact us, we'll be happy to help.

Source code

Version 3.9.2
libdap-3.9.2.tar.gz, gpg signature. Required: libcurl, libxml2 and pthreads. On linux you'll need the regular packages plus the '-devel' development packages for these. They are commonly present on machines configured for development. See above. If you are building the source on Windows XP or Vista you will need a fairly complex collection of tools. Assuming you have Visual C++ 9.0 (aka 2008) using the OPeNDAP Tools 1.1 (sig) installer will set up a build environment for you. This is the build environment used to make the binaries distributed here.

Contributed builds

Version 3.9.2
Contributed: Sharing your binary builds for those operating systems not available here.