File: README

package info (click to toggle)
med-fichier 2.3.6-5
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 15,328 kB
  • ctags: 3,108
  • sloc: ansic: 20,221; sh: 10,917; fortran: 3,811; makefile: 1,667; f90: 1,557; cpp: 146; tcl: 118
file content (215 lines) | stat: -rw-r--r-- 9,004 bytes parent folder | download
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