Apportez votre aide…
Ceci est une ancienne révision du document !
GDL : GNU Data Language
Installation
Pour installer GDL depuis un paquet pré-compilé, il vous suffit d'installer le paquet gnudatalanguage.
À la deuxième fois que j'ai installé GDL sous Ubuntu, j'ai dû installer un deuxième paquet pour pouvoir afficher les courbes dans la fenêtre. Pour remédier au problème, j'ai installé plplot9-driver-xwin
Vous pouvez aussi voir ici: les dépendances de GDL
Compilation (générique)
La version APT est basée sur la version 0.9pre6 de GDL. Depuis, une 0.9rc1, une 0.9rc2 et une 0.9rc3 sont sorties, contenant des améliorations notables par rapport à la 0.9pre6, et le CVS est toujours actif … Très franchement, à partir du moment ou les librairies (plplot, readline, gsl, …) sont installées, il faut un très petit effort pour compiler le code source … En général
Lors de la compilation, la seule vraie ruse concerne plplot, car Debian n'a pas (n'avait pas avant 9.04 ?!) encore la version 5.9.0 de plplot ou le nombre de paramètres d'une fonction a changé …
tar -zxf gdl-0.9rc1.tar.gz cd gdl-0.9rc1 aclocal autoconf automake ./configure --enable-oldplplot make
Ceci est évidemment transposable aux versions 0.9rc2 et 0.9rc3.
Si les packages "aclocal", "autoconf" et "automake", les ajouter … On peut aussi utiliser "autoreconf", en particulier sous Ubuntu 9.04 et GDL 0.9rc3.
Je considère que make install est facultatif: il est tout a fait possible de compiler le projet puis de vivre en local. Une autre solution est d'utiliser un répertoire local, ce qui permet de faire co-exister la version packagee pour Ubuntu et sa version compilee soi-meme. Il suffit de faire:
./configure [...] --prefix=/home/User/GDL/MonGDLaMoi/ make make install
Supposons que vous ayez la version 5.9.0 de plplot, compilée à la main, dans une arborescence locale, ainsi qu'une version ad-hoc de la GSL, il suffira de faire:
tar -zxf gdl-0.9rc1.tar.gz cd gdl-0.9rc1 aclocal autoconf automake ./configure --without-hdf5 --with-Magick=no --without-netcdf --without-hdf \ --with-plplot=/home/visiteur/GDL/plplot-5.9.0/Compilation/ \ --with-gsl=/home/visiteur/GDL/gsl-1.11/Compilation/
J'en ai profité pour montrer comment désactiver certaines options: ceci fait gagner un temps notable à la compilation, surtout si on ne servira jamais de ces librairies !
Si, par hasard la partie graphique ne démarrait pas convenablement, il peut être utile d'ajouter
export LD_LIBRARY_PATH=/home/visiteur/GDL/plplot-5.9.0/Compilation/lib/
(si qlq1 pouvait expliquer, et me dire comment corriger cela dans le code, j'en serais ravi !) Attention, il ne faut pas confondre ce problème-ci avec le manque du package décrit dans la partie installation.
Compilation de gdl-0.9rc4 sous Ubuntu 10.04 LTS
Il ne faut pas oublier que la compilation de gdl nécessite les paquets suivants : Readline , gsl, plplot, fftw. Assurez vous d'avoir installé les versions pour développement (lib..-dev) , sinon vous rencontrerez des difficultés lors de la compilation.
Compilation de la version release.
Récupérez l'archive gdl-0.9rc4.tar.gz à l'adresse suivante : http://sourceforge.net/projects/gnudatalanguage/ .
Une fois l'archive téléchargée, la décompresser à l'aide de tar puis se placer dans le répertoire créé. Puis on passe à la préparation de la compilation avec configure.
$ tar -zxf gdl-0.9rc4.tar.gz $ cd gdl-0.9rc4 $ ./configure --with-Magick=no --with-python=no --with-netcdf=no --with-hdf=no --with-hdf5=no
Le résultat obtenu est le suivant et permet de savoir quelles options ont été activées ou non.
GDL - GNU Data Language ----- compilation options: --------------------------- System: i686-pc-linux-gnu Installation prefix: /usr/local C++ compiler: g++ -g -O2 OpenMP support: yes (use --with-openmp=no if your compiler does not support it) ----- optional libraries (consult README/INSTALL): --- wxWidgets: no (needs explicit enabling) Magick: no NetCDF: no HDF4: no HDF5: no FFTW: no (GSL version used by default) libproject: no (see also MAP_INSTALL) MPICH: no (needs explicit enabling) Python: no (see also PYTHON.txt) UDUNITS-2: no (needs explicit enabling) GRIB: no (needs explicit enabling) ----- notes on auxiliary files: ---------------------- - consult MAP_INSTALL for details concerning auxiliary files needed for mapping support - SAVE and RESTORE procedures require *.pro files from the CMSVLIB package (see README for details) ------------------------------------------------------ use 'make' to build and 'make install' to install GDL
Selon la version de votre compilateur ou de plplot, vous pouvez avoir des messages d'erreurs. Pour pouvoir compiler, il faudra ajouter des options au lancement de configure.
Si votre compilateur ne supporte pas openmp. Vous pouvez ajouter l'option suivante en lançant ./configure.
--with-openmp=no
Je compile avec une version 4.4.3 de gcc et openMp est supporté.
Pour vérification de votre version de gcc :
$ gcc --version gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
Si vous avez une ancienne version de plplot ( antérieure à 5.9.0 ) , il vous faudra ajouter cette option.
--enable-oldplplot
Et enfin
$ make $ make check
Une fois que ces étapes ont été réalisées (avec succès) vous pouvez lancer gdl, un exécutable se trouve dans le répertoire src.
Compilation de la version CVS.
Pour la version CVS, la démarche est similaire. La seule différence est la récupération du code source.
Si vous voulez récupérer les sources pour la première fois ( ou dans un tout nouveau répertoire ) , saisissez la commande suivante, elle va créer un répertoire gdl ou se trouvera les sources.
$ cvs -z3 -d:pserver:anonymous@gnudatalanguage.cvs.sourceforge.net:/cvsroot/gnudatalanguage checkout gdl
Ou encore pour mettre à jour votre version CVS, vous vous placez dans le répertoire gdl puis la commande suivante
$ cvs -z3 -d:pserver:anonymous@gnudatalanguage.cvs.sourceforge.net:/cvsroot/gnudatalanguage update
Les étapes suivantes sont les mêmes que pour la version release, à savoir :
- configure
- make
- make check
$ ./configure --with-Magick=no --with-python=no --with-netcdf=no --with-hdf=no --with-hdf5=no GDL - GNU Data Language ----- compilation options: --------------------------- System: i686-pc-linux-gnu Installation prefix: /usr/local C++ compiler: g++ -g -O2 OpenMP support: yes Build type: standalone (other: Python module) ----- optional libraries (consult README/INSTALL): --- wxWidgets: no (needs explicit enabling) Magick: no NetCDF: no HDF4: no HDF5: no FFTW: yes libproject: no (see also MAP_INSTALL) MPICH: no (needs explicit enabling) Python: no (see also PYTHON.txt) UDUNITS-2: no (needs explicit enabling) GRIB: no (needs explicit enabling) ----- notes on auxiliary files: ---------------------- - consult MAP_INSTALL for details concerning auxiliary files needed for mapping support - SAVE and RESTORE procedures require *.pro files from the CMSVLIB package (see README for details) ------------------------------------------------------ ----- note on OpenMP support ------------------------- OpenMP was autodetected, use --with-openmp=no if your compiler does not support it (e.g. GCC < 4.2) ------------------------------------------------------ use 'make' to build and 'make install' to install GDL (optional 'make check' tests the build - experimental) $ make $ make check
Compilation de gdl-0.9rc3 sous 9.04
Faisons l'hypothèse que la version pré-compilée a déjà été installée. Ceci évitera de devoir ajouter une a une les librairies (fftw, gsl, …).
On récupère le TGZ de la 0.9rc3 sur Sourceforge …
En general, la ligne directe doit suffire …
tar -zxf gdl-0.9rc3.tar.gz cd gdl-0.9rc3 ./configure make
Cependant, il semble (du moins sur mon U 9.04 a moi) que le configure de GDL manque les FFTw, rangees sous /usr. Je m'en suis sorti en faisant:
tar -zxf gdl-0.9rc3.tar.gz cd gdl-0.9rc3 autoreconf ./configure --with-fftw=/usr make
Dans ce cas, a la fin du configure, quelques lignes donnent des informations importantes sur les librairies effectivement utilisees:
[...] GDL - GNU Data Language ----- compilation options: --------------------------- System: i686-pc-linux-gnu Installation prefix: /home/alaingdl/GDL/CurrentGDL C++ compiler: g++ -g -O2 ----- optional libraries (consult README/INSTALL): --- wxWidgets: no (needs explicit enabling) Magick: no NetCDF: no HDF4: no HDF5: no FFTW: yes libproject: no (see also MAP_INSTALL) MPICH: no (needs explicit enabling) Python: no (see also PYTHON.txt) UDUNITS-2: no (needs explicit enabling) ----- notes on auxiliary files: ---------------------- - routines implemented in GDL are located in src/pro/, use GDL_PATH env. variable to inform GDL about their location (files not installed by 'make install') - consult MAP_INSTALL for details concerning auxiliary files needed for mapping support - SAVE and RESTORE procedures require *.pro files from the CMSVLIB package (see README for details) ------------------------------------------------------ use 'make' to build and 'make install' to install GDL
apres un appel ou je desactive pas mal de trucs :
./configure --with-gsldir=/home/alaingdl/GDL/gsl-1.12/Compilation/ --with-Magick=no --with-netcdf=no --with-hdf=no --with-hdf5=no --with-python=no --with-fftw=/usr/ --prefix=/home/alaingdl/GDL/CurrentGDL/
Configuration (proposition de nouvelle version)
Ensuite, il faut définir les variables d'environnements de GDL. Il y a deux variables GDL_PATH et GDL_STARTUP. Pour des raisons de compatibilité avec le langage IDL, si ces variables ne sont pas fournies, GDL va aussi considérer IDL_PATH et IDL_STARTUP.
GDL_PATH indique les chemins vers les programmes (fichiers ASCII généralement de suffixe .pro).
######### Variables d'environnements pour GDL ############ export GDL_PATH=~/Chemin/Relatif/lib1:+/Chemin/Absolu/routines2:.
Le petit "+" veut dire qu'on va considérer récursivement tous les sous-répertoires …
Ces programmes peuvent former de vastes bibliothèques, telles Astron ou SolarSoft, ou de petits outils très connus MPFIT. Ces programmes, écris en syntaxe IDL, sont plus ou moins bien gérés par GDL. Depuis les versions 0.9pre, la plupart des problèmes ont été réglés.
Bien évidemment, aussi bien GDL_PATH que GDL_STARTUP peuvent être stockées dans un fichier lu au démarrage, tel ~/.bashrc
sous bash
.
S'il est absent, le sous répertoire caché ~/.gdl
est automatiquement cree dans les dernières versions de GDL afin d'y stocker un historique des commandes (par défaut, 20 lignes) dans un fichier ASCII de nom history
.
Configuration (ancienne version)
J'ai mis du temps à comprendre et trouver comment il fallait faire, ma méthode n'est en aucun cas la meilleure vu qu'apparemment je définis à chaque démarrage d'une console les variables au lieu qu'elles soient créées une bonne fois pour toute, mais ça a le mérite de marcher.
J'ai donc créé un répertoire .gdl
(dossier caché donc, en raison du point, comme tout les dossiers de configuration) dans mon répertoire utilisateur. Dans ce répertoire, j'ai créé un fichier startup
qui me sert à définir les commandes à exécuter au démarrage de GDL. Pour le moment, le fichier est vide, mais quand je saurais quoi mettre dedans, je pourrais le faire facilement (peut-être qu'il faut les droits d'exécutions au fichier).
J'ai créé dans le dossier .gdl
deux sous dossiers, lib
et routines
dans lesquels je stocke les *.pro
que j'ai récupéré ici et là et qui me permettent de compléter mon utilisation de GDL.
Maintenant, pour créer les variables d'environnements, j'ai rajouté les lignes suivantes à mon fichier ~/.bashrc
:
######### Variables d'environnements pour GDL ############ export GDL_PATH=~/.gdl/lib:~/.gdl/routines export GDL_STARTUP=~/.gdl/startup
Voir aussi
- (en) Site officiel
- (fr) une dépêche sur LinuxFr.org à l'occasion de la version 0.8.11 de GDL
- (fr) une autre dépêche sur LinuxFr.org à l'occasion de la version 0.9pre5 de GDL
- (fr) comment réussir à installer GDL sous Linux ou Mac OS X
- (fr) une liste des fonctions intrinsèques d'IDL disponibles dans GDL. Attention, certains mots-clef peuvent, il peut rester des bugs …