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
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.
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
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 ..
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 ../..
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 ..
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 ..
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 ..
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 ..
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 ..
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 ..
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 ..
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
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
$ 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
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