Building Metlibs and Diana with Autotools

Download source 3.25.0

metlibs-4.1

diana-3.25.0

They both use a number of specially-written autoconf macros, which can be found in metlibs' m4 subdirectory.

Prerequisites

On a clean stock Ubuntu Lucid (10.04) install, you will first need to install build tools:

build-essential

gfortran

autoconf

automake

libtool

subversion

sudo apt-get install build-essential gfortran autoconf automake libtool subversion

Next, you will need to install various third-party libraries that Metlibs and Diana depend on:

Metlibs

flex

bison

ftgl-dev

libhdf4g-dev

libhdf5-serial-dev (XXX actually optional)

libtiff4-dev

libqt4-dev

proj

libboost-dev (*)

libboost-date-time-dev

libboost-serialization-dev

libboost-thread-dev

libgeotiff-dev (Optional)

libfimex-dev (Optional)

libmysqlclient-dev (*)

libpqxx-dev (*) (Optional)

libomniorb4-dev (Optional)

omniidl4 (Optional)

libldap2-dev (optional)

liblog4cpp5-dev

libcurl4-gnutls-dev

Without optional libraries:

sudo apt-get install flex bison ftgl-dev libhdf4g-dev libtiff4-dev libqt4-dev proj libboost-dev libboost-date-time-dev \
libboost-serialization-dev libboost-thread-dev libmysqlclient-dev liblog4cpp5-dev libcurl4-gnutls-dev

With optional libraries:

sudo apt-get install flex bison ftgl-dev libhdf4g-dev libhdf5-serial-dev libtiff4-dev libqt4-dev proj libboost-dev libboost-date-time-dev \
libboost-serialization-dev libboost-thread-dev libgeotiff-dev libfimex-dev libmysqlclient-dev libpqxx-dev \
libomniorb4-dev omniidl4 libldap2-dev liblog4cpp5-dev libcurl4-gnutls-dev

Diana

libshp-dev

libavformat-dev (Optional)

libxt-dev

Without optional libraries:

sudo apt-get install libshp-dev libxt-dev

With optional libraries:

sudo apt-get install libshp-dev libavformat-dev libxt-dev

For observation buffer support in Diana:

EMOSLIB (no package; install manually from source)

For GRIB support in Metlibs and Diana:

GRIB API (no package; install manually from source)

For fimex support in Metlibs and Diana:

libfimex-dev (no package; install manually from source)

Except for those marked with (*), configure will terminate with an error message if any required package is absent.

Installation

Metlibs

By default, all modules are enabled except for GribAPI, “geotiff”, “fimex”, pods, profet and proFunctions.

Unpack the metlibs archive and enter the directory containing the source files. If you have root privileges on your system, configure the library by running the configure script:

./configure --enable-xfonts --enable-allprofet --with-fimex

Otherwise, to configure the library for installation in a directory where you have permission to write files, run the configure script in the following way:

./configure --enable-xfonts --enable-allprofet --with-fimex --prefix=$HOME/diana

where, in this example, we used $HOME/diana to specify a directory called diana in the user's home directory.

Build and install the library with the following commands:

make
make install

You may need root privileges to install the library unless you specified a prefix in the configuration step.

Diana

By default, support for profet and observation buffers is disabled, while video export is enabled.

Unpack the diana archive and enter the directory containing the source files. If you have root privileges on your system, configure the library by running the configure script:

./configure --enable-xlib --enable-obs-bufr --enable-profet --enable-proddb

Otherwise, to configure the library for installation in a directory where you have permission to write files, run the configure script in the following way:

./configure --enable-xlib --enable-obs-bufr --enable-profet --enable-proddb --prefix=$HOME/diana

where, in this example, we used $HOME/diana to specify a directory called diana in the user's home directory.

Build and install the application with the following commands:

make
make install

You may need root privileges to install the library unless you specified a prefix in the configuration step.