This is an old revision of the document!


Building Metlibs and Diana with Autotools

Warning: This page is currently being revised. Details may be incorrect and are subject to change.

This document describes how to build the Diana application and its main dependencies (Fimex and Metlibs) from source code, focusing on Ubuntu 12.04 (Precise) and Fedora 20. We provide commands to install further dependencies as they are needed, but this assumes that previous steps have been followed. For example, we list the common dependencies between Metlibs and Fimex as Fimex dependencies.

This section describes the basic set of packages that will be required to build the software.

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

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

On Fedora 20, this command has been found to install a reasonable base set of tools:

sudo yum install gcc-c++ make wget tar subversion autoconf automake \
                 findutils libtool flex bison autoconf-archive \
                 gcc-gfortran

Obtain the latest source code from the subversion repositories:

fimex:

svn co https://svn.met.no/fimex/tags/version0_51 fimex

metlibs:

svn co https://svn.met.no/metlibs/common
svn co https://svn.met.no/metlibs/diana-support
svn co https://svn.met.no/metlibs/gl-support
svn co https://svn.met.no/metlibs/tseries-support
svn co https://svn.met.no/metlibs/qt-utilities

Diana:

svn co https://svn.met.no/diana/trunk diana

Install the dependencies using the following command:

sudo apt-get install libboost-dev libxml2-dev libproj-dev libudunits2-dev \
                     libnetcdf-dev libgrib-api-dev libjasper-dev libpng12-dev \
                     libjpeg-dev libpq-dev liblog4cpp5-dev

Install the dependencies using the following command:

sudo yum install boost-devel libxml2-devel udunits2-devel \
                 netcdf-devel grib_api-devel jasper-devel libpng-devel \
                 libjpeg-turbo-devel libpqxx-devel log4cpp-devel \
                 proj-devel udunits-devel

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

Without optional libraries:

sudo apt-get install ftgl-dev libhdf4g-dev libtiff4-dev libqt4-dev proj \
                     libmysqlclient-dev liblog4cpp5-dev libcurl4-gnutls-dev

With optional libraries:

sudo apt-get install ftgl-dev libhdf4g-dev libhdf5-serial-dev libtiff4-dev \
                     libqt4-dev proj libmysqlclient-dev libpqxx-dev \
                     libomniorb4-dev omniidl4 libldap2-dev liblog4cpp5-dev \
                     libcurl4-gnutls-dev
sudo yum install ftgl-devel libgeotiff-devel mesa-libGL-devel mesa-libGLU-devel \
                 qt-devel

Diana can be configured to be used for creating animations. If this is desired then libavformat and its development headers need to be installed. On Ubuntu 12.04, a package exists for the optional EMOSLIB dependency, required to support viewing of observation files. However, it is not available for every distribution.

Without libavformat:

sudo apt-get install libemos-dev libgrib-api-dev libshp-dev libxt-dev

With libavformat:

sudo apt-get install libemos-dev libgrib-api-dev libshp-dev libavformat-dev libxt-dev

For observation buffer support in Diana, install EMOSLIB from source). The optional libavformat library is not available in the standard Fedora repositories. If you really need to produce video files of products created with Diana, you may be able to find a suitable package for Fedora in one of the third party repositories.

Without libavformat:

sudo yum install grib_api-devel shapelib-devel

Enter the fimex directory and configure the library with the following command:

./configure

If you want to install the library in an alternative location, specify it using the --prefix option; for example, use the following command to specify a directory inside the user's home directory:

./configure --prefix=$HOME/diana

Build and install the library in the specified location:

make
make install

You may need root privileges to install the library if you chose an installation location outside the user's home directory.

Enter the subdirectories for each of the metlibs modules, configuring, building and installing them using the scripts listed below. Note that, by default, the libraries will be installed under /usr/local unless you specify a prefix to the configure script, such as --prefix=$HOME/diana to install the libraries in the diana directory inside the user's home directory.

#/bin/sh

set -e

THIS_DIR=`pwd`

cd $THIS_DIR/common/miLogger/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/common/puCtools/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/common/puTools/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/tseries-support/puDatatypes/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/diana-support/diField/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/diana-support/miRaster/trunk
./autogen.sh && ./configure --with-geotiff && make
sudo make install

cd $THIS_DIR/gl-support/glp/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/gl-support/miFTGL/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/gl-support/glText/trunk
./autogen.sh && ./configure --enable-xfonts && make
sudo make install

cd $THIS_DIR/qt-utilities/qUtilities/trunk
./autogen.sh && ./configure && make
sudo make install

cd $THIS_DIR/qt-utilities/coserver/trunk
./autogen.sh && ./configure && make
sudo make install
#/bin/sh

set -e

THIS_DIR=`pwd`

cd $THIS_DIR/common/miLogger/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/common/puCtools/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/common/puTools/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/tseries-support/puDatatypes/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/diana-support/diField/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/diana-support/miRaster/trunk
./autogen.sh && ./configure --prefix=/usr/local --with-geotiff && make
sudo make install

cd $THIS_DIR/gl-support/glp/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/gl-support/miFTGL/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/gl-support/glText/trunk
./autogen.sh && ./configure --prefix=/usr/local --enable-xfonts && make
sudo make install

cd $THIS_DIR/qt-utilities/qUtilities/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

cd $THIS_DIR/qt-utilities/coserver/trunk
./autogen.sh && ./configure --prefix=/usr/local && make
sudo make install

By default, support for observation buffers is conditionally enabled and video export is enabled. To disable video support, append the --disable-video-support option to the command line you use to configure the build.

Enter the diana directory. If you have root privileges on your system, configure the library by running the configure script:

./configure --enable-xlib --enable-geotiff

To configure the library for installation in a directory where you have permission to write files (for example, $HOME/diana for a directory in the user's home directory), use the --prefix option to specify the installation directory:

./configure --enable-xlib --enable-geotiff --prefix=$HOME/diana

Enter the diana directory. If you have root privileges on your system, configure the library by running the configure script:

./configure --enable-xlib --enable-geotiff --disable-video-export --with-png-libdir=/usr/lib64

To configure the library for installation in a directory where you have permission to write files (for example, $HOME/diana for a directory in the user's home directory), use the --prefix option to specify the installation directory:

./configure --enable-xlib --enable-geotiff --prefix=$HOME/diana --disable-video-export --with-png-libdir=/usr/lib64

Build and install the application with the following commands:

make
make install

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

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • diana/autotools.1393599310.txt.gz
  • Last modified: 2022-05-31 09:23:13
  • (external edit)