## Documentation de la bibliothèque MED-fichier V2.3 : Installer

Sommaire de la rubrique
Description des livrables Pré-requis necessaires à l'installation Plates-formes Lancement de l'installation Mise à jour de l'environnement de compilation

## Description des livrables

Les livrables logiciels sont :

1. les sources :
   - De la bibliothèque,
   - Des programmes de test,
   - Des utilitaires associés à la bibliothèque.
2. Une procédure d'installation définie à partir des utilitaires "auto-conf" et "auto-make".
3. La documentation utilisateur au format HTML.

## Pré-requis nécessaire à l'installation

Avant d'installer la bibliothèque MED-fichier, il faut disposer d'un accès à une version compilée de la bibliothèque HDF V5. Pour MED-fichier V2.3, il s'agit de HDF V5-1.6.4 (version recommandée).

## Plates-formes

MED-fichier V2.3 a été développée et validée sous :

    PCs LINUX 32/64
    BULL Novascale 4040 Linux 64
    SUN-SOLARIS
    BLUEGENE

## Lancement de l'installation

Pour désarchiver le fichier contenant les sources taper :

    gunzip med-2.3.4.tar.gz
    tar xvf med-2.3.4.tar

Vous trouverez dans le répertoire obtenu, l'ensemble des livrables. La procédure d'installation permet de compiler et installer :

- La bibliothèque MED,
- Sa batterie de tests (les tests peuvent également être lancés et validés),
- Ses utilitaires.

Avant de lancer l'installation, la variable d'environement HDF5HOME doit être positionnée à l'emplacement d'HDF5 sinon vous pouvez utiliser l'option --with-hdf5=<hdf5 path> à l'étape de configuration. Si aucune option n'est utilisée, med cherche hdf dans /usr.

    export HDF5HOME=/local/tools/hdf5-1.6.4

Il faut ensuite se placer dans le répertoire où se trouvent les livrables et lancer l'installation en tapant les commandes :

    ./configure --prefix=/local/tools/med2.3.4
    make
    make check
    make install

Vous pouvez également consulter le fichier README pour des informations complémentaires.

Dans la commande "configure", le paramètre "--prefix" permet d'indiquer où installer la bibliothèque. Si l'installation s'effectue correctement, vous trouverez dans le répertoire cible l'arborescence suivante :

    local
    |
    ---tools
        |
        ---med2.3.4
            |
            --- bin
            |
            --- include
            |
            --- lib

Description :

- Le répertoire bin contient les utilitaires livrés avec la bibliothèque (xmdump, medimport, medconforme) ainsi que les tests unitaires C et FORTRAN.
- Le répertoire include contient les fichiers d'en-tête (notamment med.h et med.hf).
- Le répertoire lib contient la librairie MED-fichier V2.3.4 compilée.

La commande "make check" permet de lancer et valider les tests.

Pour plus de détails et en particulier pour paramétrer les options de compilation, vous pouvez consultez le fichier README.

## Mise à jour de l'environnement de compilation

Il reste à mettre à jour les variables d'environnement :

- LD_LIBRARY_PATH :

  pour l'accès aux librairies dynamiques HDF et MED. Sur un système gérant les dépendances entre bibliothèques, le positionement de cette variable ne devrait pas être necessaire.

- PATH : pour l'accès aux exécutables des utilitaires MED.

Exemples :

    export LD_LIBRARY_PATH=/local/tools/hdf5-1.6.4/lib:/local/tools/med2.3.4/lib:${LD_LIBRARY_PATH}
    export PATH=/local/tools/2.3.4/bin:${PATH}

L'utilisation de la bibliothèque à l'édition de lien se fait de manière classique. Voici un exemple simple d'un makefile sous LINUX :

    HDFHOME		=	/local/tools/hdf5-1.6.4
    HDFINCLUDE 	=	${HDFHOME}/include
    HDFLIB		= 	${HDFHOME}/lib

    MEDHOME		= 	/local/tools/med2.3.4
    MEDINCLUDE	=	${MEDHOME}/include
    MEDLIB		= 	${MEDHOME}/lib

    CC 		=	gcc
    CFLAGS		=	-DPCLINUX -I${HDFINCLUDE} -I${MEDINCLUDE} -I./
    LFLAGS		= 	-L${HDFLIB} -L${MEDLIB} -lmed -lhdf5 -lm -lz

    all : main.out

    main.out : main.c
    	${CC} main.c ${CFLAGS} ${LFLAGS} -o main.out

    clean :
    	rm *.out *.o

Remarque : la bibliothèque MED utilise le C++ depuis sa version 2.3.4. Dans le cas d'une édition des liens d'un programme fortran avec la bibliothèque MED statique, il est necessaire de préciser le nom et le chemin d'accès à la bibliothèque C++

    exemple :

    LFLAGS		= 	-L${HDFLIB} -L${MEDLIB} -lmed -lhdf5 -lm -lz -L/usr/lib/gcc-lib/i486-linux/3.3.5/ -lstdc++