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.
General Prerequisites
This section describes the basic set of packages that will be required to build the software.
Ubuntu 12.04 (Precise)
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
Fedora 20
On Fedora 20, this command has been found to install a reasonable base set of tools:
sudo yum -y install gcc-c++ make wget tar subversion automake findutils libtool
Obtaining the source code
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
Fimex
Ubuntu 12.04 (Precise)
Install the dependencies using the following command:
sudo apt-get install gfortran libboost-dev libxml2-dev libproj-dev libudunits2-dev \ libnetcdf-dev libgrib-api-dev libjasper-dev libpng12-dev \ libjpeg-dev libpq-dev liblog4cpp5-dev
Fedora
Install the dependencies using the following command:
sudo yum -y install gfortran 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
Metlibs
Next, you will need to install various third-party libraries that Metlibs and Diana depend on:
Ubuntu 12.04 (Precise)
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
Fedora 20
sudo yum -y install log4cpp
Diana
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.
Ubuntu 12.04 (Precise)
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
Fedora 20
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
Installing Metlibs
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.
Ubuntu 12.04 (Precise)
#/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
Fedora 20
#/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
Building
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.
Installing Diana
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.
Ubuntu 12.04 (Precise)
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
Fedora 20
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
Building
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.