(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.4/5.5, sous CentOS 5.7, sous MS-windows avec MinGW,

Levan LORIA (et Alain Coulais)
4 Juin 2014
Ne pas hésiter à me remonter les typo, l'ortho, les erreurs, les omissions ...

Compiler GDL (0.9.4 CVS) sous Ubuntu 12.4

L'objectif de ce document est de compiler la version CVS de GDL sur une machine multi-coeurs avec un système à jour mais en voie d'obsolescence : Ubuntu 12.04 sur lequel les paquets applicatifs ne sont pas forcéement mis à jour. Le paquet GDL (0.9.2-2) pour cette version d'Ubuntu est clairement obsolète mais il est trivial de compiler le CVS de GDL sur cette distribution, dès le moment ou on compile aussi un plplot assez récent.

Il faut compiler une version récente de PLplot, et accessoirement ImageMagick. Il s'agit juste de mettre en avant quelques subtilités qui permettent de continuer à profiter d'une machine puissante et sous-employée pour tester GDL.

D'autres documents d'aide à l'installation et à la compilation sont proches de celui-ci, chacun peut contenir des détails qui permettent de résoudre certain(s) problème(s) ponctuel(s), ou de prendre en compte certaines librairies facultatives (installation simple ou compilation).

On va télécharger une version récente mais pas trop de PLplot. On va compiler une version récente de ImageMagick.

Certains paquets peuvent vous manquer, merci de voir avec votre administrateur système. Il faut bien évidemment avoir GCC (ici 4.8.1) et CMake. Il faut avoir les versions -devel- de FFTw, ReadLine, GSL ... (avant de solliciter votre vénéré SysAdmin, faites bien le point de ce dont vous avez vraiment besoin: l'exécutable cmake, les versions -devel- des bibliothèques logicielles FFTw, GSL, ReadLine.)

Initialisation

Je suppose que vous êtes sous l'interpréteur de commande bash, dans la racine de votre HOME. On travaillera dans un sous-répertoire GDL.

$ cd $HOME
$ mkdir GDL
$ cd GDL

CMake

Si dpkg -l | grep cmake ne retourne rien, il vous faudra ajouter cmake par exemple via sudo apt-get install cmake.

La version indiquée par dpkg -l | grep cmake est la: 2.8.7-0ubuntu5 confirmé par : /usr/bin/cmake --version qui donne : cmake version 2.8.7

Si vous voulez vraiment compiler une version récente de CMake, cf le document de Maxime.

Compilation de PLplot

PLplot est obligatoire pour le bon fonctionnement de GDL; en effet, c'est la bibliothèque permettant l'affichage des graphiques,...

Les versions récentes (disons >= 5.9.5) de PLplot utilisent CMake pour la compilation ...

Les derniers progrès (sans rentrer dans un mode de flag --enable-oldplplot) dans GDL suggèrent une version de PLplot > 5.9.5, on a testé avec succès avec 5.9.7.

La version packagée dans Ubuntu 12.4 est libplplot-dev (dpkg -l | grep plplot-devel donne : 5.9.9-2ubuntu2)

$ cd $HOME/GDL
$ wget [...] (le lien qui va bien vers plplot-5.9.7.tgz)
$ tar -zxf plplot-5.9.7.tgz
$ cd plplot-5.9.7
$ mkdir Compilation
$ cd Compilation
$ cmake -DCMAKE_INSTALL_PREFIX=$PWD ..
$ make -j 10 (vous pouvez adapter -j 10 en fonction du nombre de coeurs)
$ make install
$ cd ../..

Compilation d'ImageMagick

ImageMagick n'est pas obligatoire pour le bon fonctionnement de GDL. Mais elle est indispensable si vous comptez lire et écrire des fichiers graphiques dans les formats JPEG, PNG et GIF. <

Les versions actuelles d'ImageMagick utilisent configure pour la compilation ...

$ cd $HOME/GDL
$ wget [...] (à choisir via download)
$ tar -zxf ImageMagick-6.7.5-0.tgz
$ cd ImageMagick-6.7.5-0
$ mkdir Compilation
$ ./configure --prefix=$PWD/Compilation/ --without-perl
$ make -j 10 (vous pouvez adapter -j 10 en fonction du nombre de coeurs)
$ make install
(il y aura peut-etre qlq complaintes pour Perl, semble sans incidence) $ cd ..

Installation des RPM de GSL

GSL est la bibliothèque de calcul numérique, obligatoire pour compiler GDL. Il faut une version de la GSL >= 1.12. La version packagée dans Ubuntu est 1.15. Bien évidemment, là aussi il faut la version -devel- (libgsl0-dev).

Installation des RPM de Readline

Cette bibliothèque Readline permet de gérer l'interaction de l'utilisateur en ligne de commande (comme la CLI de Bash, ou dans Emacs ... la CLI de GDL est beaucoup plus puissante que celle d'IDL)

La version packagée dans Ubuntu 12.4 est 6.2-8 (dpkg -l | grep readline donne : libreadline6, version 6.2-8 ). Bien évidemment, là aussi il faut la version -devel- (libreadline6-dev) .

Installation des RPM de FFTw

La bibliothèque logicielle FFTw permet de calculer des transformations de Fourier. Des tests faits dans le passé, elle est environ 2 fois plus rapide que la version FFT dans la GSL, et elle est plus rapide que la FFT disponible dans IDL pour des grands jeux de données.

La version packagée dans Ubuntu est OK. Bien évidemment, là aussi il faut la version -devel- (libfftw3-dev).

Bibliothèques optionnelles: Udunits, LibProj4, HDF, HDF5, NetCDF ...

On rentre là dans un univers pointu. Si vous ne savez pas ce que c'est, si vous ne pensez pas vous en servir, vous pouvez oublier ces bibliothèques optionnelles, en tout cas pour le moment.

Téléchargement de la version CVS 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. Il peut certes y avoir des régressions ponctuelles, mais (1)des tests de régression sont faits très régulièrement et (2) elles sont généralement très rapidement corrigées et il suffit de naviguer via l'interface graphique du CVS pour voir les lieux d'activité (et donc de danger)

$ cd $HOME/GDL
$ cvs -d:pserver:anonymous@gnudatalanguage.cvs.sourceforge.net:/cvsroot/gnudatalanguage co -P gdl
$ mv gdl gdl-0.9.4cvs140504CMake (voie CMake; on renomme selon la date en cours)

Compilation selon la voie CMake de la version CVS de GDL

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/GDL/ImageMagick-6.7.5-0/Compilation/lib/
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/GDL/plplot-5.9.7/Compilation/lib/

$ cd $HOME/GDL
$ cd gdl-0.9.4cvs140504CMake (à adapter à votre cas)
$ mkdir build
$ cd build
$ cmake .. -DWXWIDGETS=OFF -DHFH=OFF -DHDF5=OFF -DPSLIB=OFF -DPYTHON=off \
-DPLPLOTDIR=$HOME/GDL/plplot-5.9.7/Compilation/ \
-DMAGICKDIR=$HOME/GDL/ImageMagick-6.7.5-0/Compilation/
$ make [-j N] (si vous avez un ordinateur multi-coeurs, ca vaut vraiment le coup de compiler avec N~~2*nb-cores)
$ make check

Voir la note dans le paragraphe précédent (voie configure) pour le diagnostic des tests.