(retour page principale), (IDL et GDL), (Tutoriel GDL).

Autres documents d'aide à la compilation de GDL: sous OSX (OSX 10.5.6 et OSX 10.6.3), sous CentOS 5.7

Maxime Lenoir
Juin 2010

Compiler GDL sous Linux CentOS 5.4/5.5

Au contraire des documents d'aide a la compilation sous OSX (OSX 10.5.6 et OSX 10.6.3) qui se limitent aux etapes indispensables a la compilation basique de GDL, ce document-ci decrit des étapes facultatives rarement abordees dans des documents recents.

On commence par télécharger GDL, puis les modules souhaités. Afin de suivre une solution générale et modulable, on va définir une variable $WITH qui contiendra les différentes options pour la compilation de GDL.

Téléchargement de GDL

GDL peut être téléchargé à partir du dépôt cvs; c'est d'ailleurs la meilleure solution afin d'avoir toujours une version à jour

$ cvs -d:pserver:anonymous@gnudatalanguage.cvs.sourceforge.net:/cvsroot/gnudatalanguage co -P gdl

Compilation de CMake

On récupère la dernière version de CMake sur le dépôt cvs. L'éxecutable cmake sera nécessaire pour compiler PLplot.

$ cvs -d :pserver:anonymous@cmake.org:/cmake.git co -d CMake master
$ cd CMake
$ ./configure
$ make
$ cd ..

Compilation de PLplot

Après avoir compilé cmake, il faut télécharger la dernière version de PLplot. Cette fois-ci, on utilise cmake pour compiler (cmake 2.6.0 minimum). PLplot est obligatoire pour le bon fonctionnement de GDL; en effet, c'est la bibliothèque permettant l'affichage des graphiques,...

$ svn co https://plplot.svn.sourceforge.net/svnroot/plplot/trunk plplot
$ cd plplot
$ mkdir build
$ cd build
$ ../../CMake/bin/cmake -DCMAKE_INSTALL_PREFIX=$PWD ..
$ make
$ make install
$ WITHPLPLOT="--with-plplotdir=$PWD"
$ cd ../..

Compilation de GSL

GSL est la bibliothèque de calcul numérique, obligatoire pour compiler gdl. La dernière version peut être trouvée sous forme d'un tar.gz. La compilation n'utilise plus cmake, mais se fait à l'aide du script configure et de make.

$ wget http://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz
$ tar -xvzf gsl-1.9.tar.gz
$ cd gsl-1.9
$ mkdir build
$ ./configure --prefix=$PWD/build
$ make
$ make install
$ WITHGSL="--with-gsldir=$PWD/build"
$ cd ..

Compilation de Readline

Readline se compile de manière similaire à GSL. Cette bibliothèque permet de gérer l'interaction de l'utilisateur en ligne de commande. Utile pour les raccourcis, l'auto-complétion, les historiques ...

$ wget ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
$ tar -xvzf readline-6.1.tar.gz
$ cd readline-6.1
$ mkdir build
$ ./configure --prefix=$PWD/build
$ make
$ make install
$ WITHREADLINE="--with-readlinedir=$PWD/build"
$ cd ..

Compilation de fftw

Fftw permet de calculer des transformations de Fourier. Encore la même manipulation, sauf qu'ici il faut compiler deux fois, avec 2 options différentes

$ wget http://www.fftw.org/fftw-3.2.2.tar.gz
$ tar -xvzf fftw-3.2.2.tar.gz
$ cd fftw-3.2.2
$ mkdir build
$ ./configure --prefix=$PWD/build
$ make
$ ./configure --prefix=$PWD/build --enable-float
$ make
$ make install
$ WITHFFTW="--with-fftw=$PWD/build"
$ cd ..

Compilation de libproj4 et ajout des fichiers nécessaires

Afin de bénéficier de la libproj4, il faut télécharger la bibliothèque (écrite en C), la compiler, puis ajouter au PATH de GDL les fichiers .pro nécessaires. Libproj4 assure les projections cartographiques.

$ wget http://home.comcast.net/~gevenden56/proj/libproj4.3_20081120.tar.bz2
$ tar -xvjf libproj4.3_20081120.tar.bz2
$ cd libproj4
$ make libproj4
$ make lproj
$ (while read; do echo $REPLY | grep -iqE '^prefix[ ]*=' && echo 'prefix = $(PWD)' || echo "$REPLY"; done) < Makefile > makefile
$ mv -f makefile Makefile
$ make install
$ WITHLIBPROJ4="--with-libproj4=$PWD"

Enfin, il faut télécharger les fichiers suivants, à placer dans le PATH de GDL.

$ for f in grid horizon image patch point_valid proj_image proj_info proj_init_commonblock proj_init_common proj_init set struct_append; do
$ wget http://www.znu.ac.ir/data/members/safari_hossein/Physics_sun/ssw/IDL63/lib/map_${f}.pro
$ done
$ cd ..

Compilation de Udunits

L'installation se fait de la même façon que la plupart des autres modules. Udunits se charge de la conversion d'unités.

$ wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.15.tar.gz
$ tar -xvzf udunits-2.1.15.tar.gz
$ cd udunits-2.1.15
$ mkdir build
$ ./configure --prefix=$PWD/build
$ make
$ make install
$ WITHUDUNITS="--with-udunits=$PWD/build"
$ cd ..

Installation de Cmsvlib

Cmsvlib fournit une collection de fichiers .pro à ajouter au PATH de gdl. Cette bibliothèque permet de gérer la persistance des variables crées dans gdl.

$ mkdir cmsvlib
$ cd cmsvlib
$ wget http://cow.physics.wisc.edu/~craigm/idl/down/cmsvlib.tar.gz
$ tar -xvzf cmsvlib.tar.gz
$ cd ..

Installation de Astron

Astron est une bibliothèque développée par la NASA et fournit diverses procédures de bas niveaux.

$ mkdir astron
$ cd astron
$ wget http://idlastro.gsfc.nasa.gov/ftp/astron.tar.gz
$ tar -xvzf astron.tar.gz
$ cd ..

Installation de TexToIdl

TexToIdl permet d'utiliser la syntaxe Tex pour rendre les labels dans plots

(old $ wget http://physweb.mnstate.edu/mcraig/textoidl/textoidl-2-1-2.tar
) $ wget http://physics.mnstate.edu/mcraig/textoidl/textoidl-2-1-2.tar
$ tar -xvf textoidl-2-1-2.tar

(2011-08-11 : since the old known link is broken, and in agreement with its licence, I temporary put here a copy of an very old version: (TexToIDL 2.1.2).)

Compilation de GDL

Il faut ensuite compiler GDL en fonction des modules qui ont été compilés et installés chez l'utilisateur

$ cd gdl
$ ./configure --with-Magick=no --with-netcdf=no --with-hdf=no --with-hdf5=no --with-python=no $WITHPLPLOT $WITHGSL $WITHREADLINE $WITHFFTW $WITHLIBPROJ4 $WITHUDUNITS
$ make

Afin de spécifier le chemin vers les bibliothèques (dynamic link), il faut renseigner la variable LD_LIBRARY_PATH avant de lancer gdl. On renseignera aussi la variable GDL_PATH afin que gdl puisse trouver les fichiers nécessaires à Cmsvlib, libproj4, ...

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/../readline-6.1/build/lib:$PWD/../plplot/build/lib
$ export GDL_PATH=+$PWD:$PWD/../libproj4:$PWD/../cmsvlib:$PWD/../astron:$PWD/../textoidl
$ ./src/gdl

Tests internes a GDL

A la fin de la compilation, il est recommande de lancer la suite de tests internes a GDL. Ces tests verifient un tres grand nombre de fonctionnalites de GDL. Vu les travaux en cours, il reste une poignee de tests negatifs et il en faut pas etre surpris d'avoir quelques Fatal. Mais les logs doivent montrer qu'il ne s'agit que de points totalement secondaires.

$ cd gdl
$ make check