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

Alain Coulais
6 Janvier 2009

Autres documents d'aide à la compilation de GDL: sous OSX (OSX 10.6.3, OSX 10.9x ou 10.10x), sous CentOS (5.4/5.5 ou 5.7)

Compiler GDL sous Mac OSX 10.5.6

Ce petit document reproduit les etapes suffisantes pour compiler GDL-0.9rc2 sur un système Mac OSX 10.5.6 (OSX 10.6.3) en ajoutant readline, GSL, plplot.

N'étant pas super-utilisateur sur les machines Mac ou j'ai des comptes, je compile tout en tant que simple utilisateur. Au debut, il faut negocier gentillement avec des utilisateurs de base (i.e. les proprietaires de la machine) pour avoir 2 ou 3 trucs indispensables, genre un acces via SSH et le kit pour developpeur Xcode ;-)

Version

En mode console, la commande magique sous OSX pour connaitre la version du systeme est sw_vers

no-imac:~ alain$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.5.6
BuildVersion: 9G55

X11

X11 est desormais de base dans Mac OS X (enfin)

Xcode

(faire) ajouter Xcode (CD 2) (pour avoir en particulier GCC 4.0.1)

A partir d'ici, on a ce qu'il faut pour la partie X11 et compilateur.

X11forwarding

(faire) activer le X11forwarding

$ su - CompteRoot
# sudo chmod 666 /etc/sshd_config
# emacs /etc/sshd_config

--> changer la ligne #X11Forwarding no en X11Forwarding yes

# sudo chmod 644 /etc/sshd_config
# exit

On peut sortir du compte "root" par exit ou ctrl-d...

Readline 5.2

OSX vient tjrs avec le vieux readline 4.3. C'est triste. GDL "necessite" 5.2 pour tout avoir (completion, historique, ...). Pour cette version de Mac OSX 10.5.6, il faut faire une mini modif a la main dans un fichier de readline pour pouvoir compiler.

$ tar -zxf readline-5.2.tar.gz
$ cd readline-5.2
$ mkdir Compilation
$ emacs support/shobj-conf

on modifie a la main 2 lignes en ajoutant "9" ... on sauve ...
$ mkdir Compilation
$ ./configure --prefix=/Users/alain/GDL/readline-5.2/Compilation/
$ make
$ make install
$ cd ..

La GSL

la seule vraie ruse ici est de bien ajouter la librairie dynamique comme il faut (via la variable DYLD_LIBRARY_PATH). Je recommande de faire les tests (make check).

$ curl ftp://ftp.gnu.org/gnu/gsl/gsl-1.12.tar.gz > gsl-1.12.tar.gz
$ tar -zxf gsl-1.12.tar.gz
$ cd gsl-1.12
$ mkdir Compilation
$ ./configure --prefix=/Users/alain/GDL/gsl-1.12/Compilation/
$ make
$ make install
$ make check
$ export DYLD_LIBRARY_PATH=/Users/alain/GDL/gsl-1.12/Compilation/lib

Compilation de Cmake

Les dernieres versions de plplot necessitent Cmake ...

$ wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz
$ tar -zxf cmake-2.6.2.tar.gz
$ cd cmake-2.6.2
$ ./bootstrap
$ make

En resume, apres avoir telecharger et decompression l'archive Cmake, et etre alle dans le repertoire ou Cmake a ete extrait il y a 2 etapes: bootstrap et make. Comme on va vivre en local, on n'a pas besoin de faire un make install.

les resultats (cmake et ccmake) sont poses dans ./bin

compilation de plplot

Recuperation et compilation de Pplot (necessite Cmake ...)

$ wget ...
$ tar -zxf plplot-5.9.1.tar.gz
$ cd plplot-5.9.1
$ mkdir Compilation
$ cd Compilation
$ ../../cmake-2.6.2/bin/cmake -DCMAKE_INSTALL_PREFIX=. -DCMAKE_VERBOSE_MAKEFILE=ON ..

ou
$ ../../cmake-2.6.2/bin/cmake -DCMAKE_INSTALL_PREFIX=. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_python=OFF ..
$ make
$ make install

Comme j'ai eu des problemes avec Python, je le desactive ...

compilation de GDL

$ wget ...
$ tar -zxf gdl-0.9rc1.tar.gz
$ cd gdl-0.9rc1
$ ./configure \
     --with-plplotdir=/Users/alain/GDL/plplot-5.9.1/Compilation/ \
    --with-gsl=/Users/alain/GDL/gsl-1.12/Compilation/ \
    --with-readlinedir=/Users/alain/GDL/readline-5.2/Compilation/
    --with-Magick=no --with-python=no \
    --with-netcdf=no --with-hdf=no --with-hdf5=no
$ make

Un executable gdl devrait etre disponible dans le sous-repertoire src/.

Lancement de GDL

Si on ne change pas de repertoire, il suffit de lancer via:

$ ./src/gdl

Attention, en lancant ainsi, on a acces seulement aux procedures et fonctions intrinseques a GDL, on ne charge pas les programmes disponibles sous src/pro/.

Prise en compte des librairies externes par GDL

Il suffit de mettre les chemins vers les librairies dans le GDL_PATH (ou le IDL_PATH), par exemple:

$ GDL_PATH='+'$HOME'/Astron/:'
$ GDL_PATH=$GDL_PATH'+'$HOME'/GDL/gdl-0.9rc1/src/pro/:'
$ export $GDL_PATH

---------------------------------------------------------------------- Libraries have been installed in: /Users/alain/GDL/gsl-1.12/Compilation//lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable during execution See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ----------------------------------------------------------------------