1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215
|
------------------
TABLE DES MATIERES
------------------
1. Obtenir la derniere version
2. Installer la bibliotheque MED 2.3
2.1 Plates-formes supportees
2.2 Logiciels necessaires a l'installation
2.3 Lancement de l'installation sous UNIX
3. Utilisation des tests et des makefiles associes
4. Utilitaires
5. Documentation
6. Joindre les correspondants MED
----------------------------------------------------------------------
1. Obtenir la derniere version
La version la plus recente de la bibliotheque MED se trouve
sur le serveur intranet EDF R&D : http://med.der.edf.fr.
2. Installer la bibliotheque MED 2.3
Pour compiler et installer la librairie MED2.3 ainsi que sa
batterie de programmes tests et ses utilitaires,
verifiez tout d'abord que vous disposez
d'un environnement adequat puis appliquez les instructions suivantes.
2.1 Plates-formes supportees et testees
PCs LINUX 32/64
BULL Novascale 4040 Linux 64
SUN-SOLARIS
BLUEGENE
2.2 Logiciels necessaires a l'installation
a. HDF 5-1.6.4 (http://hdf.ncsa.uiuc.edu).
a1. Variable d'environement HDF5HOME positionn�e � l'emplacement d'HDF5
ou utilisation de l'option --with-hdf5=<hdf5 path> � l'�tape de configuration.
Si aucune option n'est utilis�e, med cherche hdf dans /usr.
b. libz
b1. Si vous compilez en dynamique hdf5 doit pouvoir �tre trouv� soit
dans le syst�me (/usr/lib) soit par la variable LD_LIBRARY_PATH.
c. compilateur C, F77 ou F90, C++
2.3 Lancement de l'installation sous UNIX
Dans le repertoire des sources :
./configure --prefix=<repertoire cible>
make
make check
make install ou make install-strip
Remarques :
- la biblioth�que MED utilise le C++ depuis sa version 2.3.2.
- Il est possible de compiler uniquement la bibliotheque MED en
version statique ou dynamique en utilisant respectivement les options
du configure --disable-shared ou --disable-static.
Dans le cas d'une compilation statique, il est necessaire de pr�ciser
le(s) nom(s) et le(s) chemin(s) d'acc�s � la biblioth�que C++ pour l'�dition des liens
des tests fortran (soit au moment du configure soit � la commande make ) :
ex : make FTLDFLAGS="-L/usr/lib/gcc-lib/i486-linux/3.3.5/" FTLIBS="-lstdc++"
Pourquoi cette exception � la g�n�ration des tests fortran en mode statique ? :
L'utilisation du linker C++ automatiserait l'apport de la biblioth�que C++
dont le nom n'est pas standardis�. Malheureusement, certains conpilateurs fortran
ne proposent pas une biblioth�que comme libfrtbegin.a du g77 (contenant le main)
mais ajoutent le main � l'�dition des liens par un fichier sp�cifique main.o.
La cons�quence est que les autotools ne peuvent d�tecter cette situation et �
l'�dition des liens C++ aucun main n'est d�fini. A cause de ces sp�cificit�s,
nous avons choisi de laisser une �dition des liens via le fortran.
Lors d'une utilisation de biblioth�ques dynamiques sur des plateformes qui
supportent les d�pendances entre bilbioth�ques il n'est pas necessaire
de d�finir le LDFLAGS car une d�pendance � la biblioth�que C++ est inscrite
dans la biblioth�que med.
- Pour compiler les tests en Fortran90 vous devez utiliser l'option
--with-f90=<nom du compilateur F90> ou
positionner la variable d'environement F90 et indiquer --with-f90 :
Configurez par la commande : ./configure --prefix=<repertoire cible> F77=pgf90 --with-f90=pgf90
Il est necessaire d'utiliser le compilateur F90 �galement pour compiler l'interface fortran
de la bilioth�que.
- Pour compiler la bibliotheque en mode debug utilisez :
./configure --prefix=<repertoire cible> CFLAGS=-g FFLAGS=-g
- Pour enlever les symboles de debugging dans le repertoire d'installation faire
make install-strip au lieu de make install
- Vous pouvez indiquez vos propres options de compilation :
./configure MAKE=<mon make> CC=<mon compilo C> CFLAGS=<mes options C> \
F77=<mon compilo f77> FFLAGS=<mes options f77> \
FCLAGS=<mes options f90> \
CXX=<mon compilo cplusplus> CXXFLAGS=<mes options cplusplus> \
--prefix=<repertoire cible>
- Pour sp�cifier o� se trouve HDF5 sans utiliser la variable
d'environnement HDF5HOME utilisez : --with-hdf5=<path>
- Pour d�sactiver l'affichage de messages d'erreur sur la sortie erreur utiliser l'option
--enable-msgerr=false ou --disable-msgerr
- MED se base sur la taille des entiers F77 pour d�finir la taille du med_int. Les
options de compilation concernant la taille des entiers sont test�es � l'�tape
de configuration par l'execution d'un test.
Si la d�tection ne fonctionne pas, ou si vous utilisez un cross-compiler vous pouvez
sp�cifier le type C du med_int par l'option --with-med_int=<mon type "C", int, long ...>.
La taille de l'entier Fortran doit correspondre au type "C".
Exemples de configure :
- Sous Solaris :
/* Pour utiliser Workshop 6.0*/
export LD_LIBRARY_PATH=/logiciels/public/zlib-1.1.4/lib:\
/home/med/hdf5-1.6.4.SUN4SOL2/lib:/logiciels/workshop-6.0/SUNWspro/lib
export PATH=/logiciels/workshop-6.0/SUNWspro/bin/:$PATH
export F90=f90
./configure CC="cc" CFLAGS="-O" F77="f90 -silent" FFLAGS="-O2" \
CXX="CC" --prefix=/tmp/med-2.3.4.sun --with-hdf5=/home/med/hdf5-1.6.4.SUN4SOL2/ \
--with-f90 --disable-shared LDFLAGS="-L/logiciels/public/zlib-1.1.4/lib/" \
FTLDFLAGS="-L/logiciels/workshop-6.0/SUNWspro/WS6/lib/" \
FTLIBS="-lcx -lCrun -lCstd"
Notez l'apparition du -silent qui permet au configure de detecter correctement
la capacit� de ce compilateur � g�n�rer une biblioth�que dynamique.
Sans ce flag f77 �crit sur la stderr le nom de la routine en cours de compilation
ce qui est d�tect� comme une erreur au configure.
- Sous OSF/1 :
Par d�faut le configure utilis� positionne la taille des entiers � 64bits,
pour d�sactiver cette fonctionnalit� utiliser --disable-int64. Prendre garde �
positionner les FFLAGS fortran de fa�on ad�quate (-integer_size 64).
F77=f90
FFLAGS="-fast -r8 -integer_size 64 -arch host -tune host"
CC=cc
CFLAGS="-g0 -verbose -std -O4 -arch host -tune host -ansi_args -fp_reorder -readonly_strings -inline speed"
HDF5HOME=/home05/med/hdf5-1.6.4
F90=f90
./configure --prefix=/home05/med/med-2.3.4 --with-f90
- Sous Linux avec compilateur Fortran PGI et GNU C/C++.
./configure F77="pgf90" --with-f90="pgf90" --with-med_int=int
Dans cette configuration :
- Le test de la taille du med_int �choue car des symboles d�finis dans des biblioth�ques F77 PGI
ne sont pas fournis � l'�dition des liens du test.
Ce test poss�de un programe principal en C et une routine F77.
Le probl�me est que si l'on ajoute le contenu de $(FTLIBS) � l'�dition des liens, le test fontionne
avec PGI mais plus sous G77/GCC pour cause d'une d�finition multiple du main ( par le test c et par la
bilbioth�que libfrtbegin ).
- Sous Linux avec compilateur gfortran avec entiers fortran 64bits
./configure --prefix=/local/med-2.3.5_64.bin --with-f90=gfortran F77=gfortran FFLAGS="-fdefault-integer-8" FCFLAGS="-fdefault-integer-8"
Ne pas oublier de positionner FCFLAGS pour que les bonnes options soient utilis�es pour le Fortran 90.
- sous BULL Novascale 4040 Linux 64 :
./configure --prefix=/home02/salome/ERIC/med-2.3.4_64.bin --with-f90=ifort FFLAGS="-i8" FCFLAGS="-i8"
- Sous BlueGene L
./configure CPPFLAGS="-I/bgl/BlueLight/ppcfloor/bglsys/include" CC=/bgl/BlueLight/ppcfloor/bglsys/bin/mpixlc CFLAGS="-g -qmaxmem=-1 -qarch=440d -qtune=440 -O3" F77=/bgl/BlueLight/ppcfloor/bglsys/bin/mpixlf77 FFLAGS="-g -qmaxmem=-1 -qarch=440d -qtune=440 -O3" CXX=/bgl/BlueLight/ppcfloor/bglsys/bin/mpixlcxx CXXFLAGS="-g -qmaxmem=-1 -qarch=440d -qtune=440 -O3 -DMPICH_SKIP_MPICXX -DMPICH_IGNORE_CXX_SEEK" LDFLAGS="-L/bgl/BlueLight/ppcfloor/bglsys/lib -L/bgl/BlueLight/ppcfloor/blrts-gnu/powerpc-bgl-blrts-gnu/lib -L/gpfs2/home/saturne/opt/zlib-1.2.1/arch/bgl/lib" LIBS="-lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv -lz" --disable-shared --with-med_int=int --with-hdf5=/gpfs2/home/med/opt/hdf5-1.6.5/arch/bgl --prefix=/gpfs2/home/med/med-2.3.6
make FTLDFLAGS="-L/bgl/BlueLight/ppcfloor/blrts-gnu/powerpc-bgl-blrts-gnu/lib -L/opt/ibmcmp/vacpp/bg/9.0/lib/ -L/bgl/BlueLight/ppcfloor/blrts-gnu/powerpc-bgl-blrts-gnu/lib" FTLIBS="-lstdc++ -libmc++ -lsupc++ -lnss_files -lnss_dns -lresolv"
3. Utilitaires
Trois utilitaires sont compiles et installes dans <repertoire cible>/bin.
Ce sont :
- mdump (xmdump) : outil de dump d'un fichier MED au format V2.3.
- medimport : traducteur de fichier V2.1 vers V2.3.
- mdeconforme : v�rificateur de conformit� de fichier.
4. Documentation
Toute la documentation est presente dans le r�pertoire
<reperoire cible>/doc. Il s'agit d'une documentation en ligne
au format HTML.
5. Joindre les correspondants MED
Par e-mail :
eric.fayolle@edf.fr
vincent.lefebvre@edf.fr
samuel.kortas@edf.fr
|