




![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 7.2 Autres informations
Sup.: Procédure d'installation sous UNIX
Préc.: Procédure d'installation sous UNIX
Table des matières
L'installation s'effectue avec l'aide d'un Makefile,
et se décompose en deux étapes:
- Création du Makefile d'installation,
- Installation : exécution du Makefile.
Cette étape est réalisée après la lecture de la bande, il
suffit de lancer, dans le répertoire make, la commande :
- % make
-
A l'issue de cette première commande un message d'erreur du type
La variable MR n'est pas initialisee dans le fichier Makefile
Elle doit avoir pour valeur /udd/modulef
make: *** [verification] Error 1
va sûrement apparaître.
Dans cet exemple, on a supposé que la cassette avait été lue
dans le répertoire /udd/modulef.
Vous devez alors dans le fichier Makefile du répertoire courant
initialiser la variable MR au nom du répertoire où a été
installé Modulef.
Vous pouvez alors relancer cette même commande :
- % make
-
Tant que la variable MR ne sera pas correctement initialisée, un message de même type
que celui cité précédemment apparaîtra et vous
ne pourrez poursuivre l'installation.
La variable correctement initialisée, le Makefile vous demande
sur quelle type machine vous effectuez l'installation, et pour vous aider à répondre
il va vous proposer le nom de plusieurs types de machines.
Votre réponse est très importante car
elle permet d'initialiser la variable MM, et cette dernière permet
entre autres de sélectionner la bibliothèque contenant les utilitaires
spécifiques à la machine. Si votre machine n'apparaît pas dans la
liste, il vous est alors nécessaire de réécrire
l'utilitaire spécifique à votre machine en vous inspirant des
bibliothèques u_mod et u_rs6000 (cf § 9.2).
Lorsque la variable MM est initialisée, le Makefile effectue les actions
suivantes :
- création du répertoire Install $MM dans le répertoire courant ($MR/make),
- création des fichiers Makefile et M_config
dans le répertoire Install $MM.
Le fichier Makefile contient le makefile d'installation,
et toutes les variables nécessaires à l'installation sont
initialisées dans le fichier M_config
(qui est lue par le Makefile).
Ces actions effectuées, le Makefile vous donne quelques instructions
pour la suite :
- changer de répertoire ( cd Install $MM)
- consulter le fichier M_config contenu dans ce répertoire,
- relancer le makefile ( make).
Nous allons maintenant reprendre un à un chacun de ces points :
- changer de répertoire ( cd Install $MM)
On se met dans le répertoire dans lequel on va poursuivre l'installation,
- consulter le fichier M_config contenu dans ce répertoire,
Il est préférable, avant de poursuivre l'installation, d'éditer le
fichier M_config afin d'initialiser correctement le contenu des
variables :
- MR :
- racine du répertoire ou est installé modulef,
- MM :
- type de la machine (sun, hp70, ...),
- MV :
- nom de la version (sta),
- SHELL :
- type de shell utilisé ( /bin/sh)
- F77 :
- commande de compilation Fortran,
- F77FLAGS :
- options de compilation pour le Fortran,
- CC :
- commande de compilation C,
- CCFLAGS :
- options de compilation pour le C,
- CIFLAGS :
- chemin de recherche pour les fichiers d'include lors de la compilation des sources C,
- LINK :
- commande d'édition de liens pour créer les exécutables,
- CPPFLAGS :
- chemin de recherche des librairies objets,
- STDLIB :
- bibliothèques à inclure lors de l'édition de lien. Les bibliothèques à inclure
dépendent très fortement des périphériques graphiques que vous choisirez par la suite (la liste
des périphériques graphiques disponibles est donnée en annexe F) ; par défaut l'initialisation de cette variable correspond
au choix des périphériques graphiques X11 et postscript
- AR :
- commande d'archivage pour les fichiers objets,
- ARFLAGS :
- option d'archivage pour les fichiers objets,
- RANLIB :
- modifie les archives objets afin que les éditions
de liens soient plus rapides. En général, cette variable aura pour
valeur ranlib, excepté sur les machines où cette commande n'existe pas (silicon),
dans ce cas là cette variable sera initialisée à une
chaîne de caractères vide ( RANLIB=) ;
- LANGUAGE :
- si le contenu de cette variable est vide, le
Makefile ne fait rien, il conserve la langue d'origine,
- LANGUAGE=GB : traduction des format en anglais
- LANGUAGE=F : traduction des format en français
Pour des raisons historiques, initialisez aussi
la fonction iinfo (bibliothèque u_$MM)
à 1 pour le mot-clé LANGUE, si vous désirez travailler
avec la version anglaise de Modulef.
- BLAS :
- indique si la bibliothèques
BLAS (Basic Linear Algebra
Software) existe déjà dans le système, il est alors inutile de
compiler la bibliothèque blas_mod (par exemple sur cray) ;
- ZZZZ :
- variable indiquant si la bibliothèque
zzzz_mod contenant les sous-programmes utilisateurs sera compilé.
Si votre machine accepte les références insatisfaites
il est inutile de compiler zzzz_mod et, dans ce cas ZZZZ est initialisé à une
chaîne de caractères vide (ZZZZ =) ;
- FF3D :
- nom de la bibliothèque qui contiendra les sous-programmes interfaçant
Fortran 3D et
Modulef (p_l $MM),
- UTIL :
- nom de la bibliothèque contenant les utilitaires spécifiques
à la machine d'installation (en général u_ nom de la machine),
- PPAL :
- la variable PPAL indique quels exécutables vous désirez créer.
Par défaut on initialise PPAL à la liste des exécutables les plus couramment
utilisés, mais vous pouvez lui donner les valeurs que vous désirez :
- PPAL=tout
pour effectuer l'édition de lien de tous les exécutables contenus dans
la bibliothèque ppal.
Si vous décidez d'effectuer l'édition de liens de tous les exécutables contenus
dans la bibliothèque ppal, assurez vous que vous avez un espace disque suffisant (environ 100 Mo).
- PPAL=PP_nofoxx PP_toutxx
les exécutables nofoxx toutxx seront créés.
- MAXSUB :
- cette variable, utilisée pour la compilation des
bibliothèques, indique de combien de fichiers, au
maximum peut dépendre une librairie ; si une bibliothèque Modulef
contient un nombre de fichiers supérieur à MAXSUB alors la mise
à jour de cette librairie sera gérée par plusieurs Makefile.
La valeur de MAXSUB est à modifier (à diminuer) uniquement si lors de la
compilation des bibliothèque vous avez un message d'erreur du type
Make: Expanded macro line is too long. Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
Pour plus de détails consultez l'annexe D.2.2.
- TYPEMAKE :
- cette variable est liée à la commande make que
vous allez utiliser pour installer Modulef.
Par défaut, on suppose que cette commande accepte la syntaxe %.f%.o:
et TYPEMAKE est initialisé à makeMakefile
. Si ce n'est pas
le cas (un message d'erreur signalant des problèmes à la lecture
de la syntaxe
[4] %.f%.o:
apparaîtra lors de la compilation des
bibliothèques)
initialisez alors cette variable à makeMakefile.bb
.
- MAJMIN :
- cette variable contient la commande permettant de
transformer des caractères majuscules en caractères minuscules.
Cette variable est utilisée lors de la création des Makefile
des bibliothèques test et ppal.
Normalement cette variable est initialisée automatiquement, cependant
il est possible, sur certains systèmes d'exploitation, que cette
initialisation automatique ne se fasse pas.
Dans ce cas, le Makefile vous l'indique et vous devez rechercher la commande, qui sur votre
système, permet de réaliser cette opération.
Ensuite initialisez la variable
MAJMIN du fichier
$MR/make/Install$MM/M_config
à cette commande.
Lors de la recherche de cette commande, vous pouvez utiliser les fichiers :
-
$racine/make/test_maj
contient un texte en majuscules
-
$racine/make/test_min
contient le même texte en minuscules
Note :
Si vous modifiez la valeur de certaines variables, il ne faut pas mettre
ces valeurs entre quotes car cela pourrait engendrer des erreurs par
la suite.
La valeur de la variable MAJMIN doit être mise entre quotes.
Le fichier Makefile consulté, vous pouvez poursuivre
l'installation :
- relancer le makefile ( make)
On est alors dans la deuxième partie du makefile : l'installation proprement dite.
C'est pendant cette phase que s'effectue réellement
l'installation (traduction, compilation, création des exécutables ... ).
Tout au cours de cette phase, on reste dans le répertoire d'installation soit :
$MR/make/Install type de la machine.
Au cours de cette phase, le Makefile va s'interrompre au moins une fois.
Cette interruption vous permet de sélectionner les périphériques
graphiques. Ce choix s'effectue dans le fichier periphin.in ; par défaut
les périphériques graphiques x11 et postscript (cf annexe F)
sont sélectionnés.
- Si ce choix vous convient, vous pouvez dès maintenant poursuivre l'installation, il vous suffit de
relancez la commande make,
- sinon, vous devez éditer le fichier periphin.in et, à l'endroit indiqué,
après la ligne :
# INSEREZ LA LISTE DES PERIPHERIQUES : (ne pas mettre le caractere diese en debut de ligne)
il vous suffit de remplacer x11 et postscript par les périphériques graphiques
que vous désirez utiliser par la suite (vérifiez que la valeur de la variable STDLIB,
est compatible avec votre choix de périphériques).
Vous pouvez ensuite poursuivre l'installation, il vous suffit de
relancez la commande make.
L'exécution du makefile va maintenant se poursuivre, le makefile va tour à tour :
- traduire les format d'impressions, si la variable LANGUAGE
n'est pas initialisée à une chaîne de caractère vide,
- créer les librairies objets, (cible librairies)
pour cela, le makefile écrit et exécute, dans chacune des
bibliothèques à compiler, un Makefile permettant de compiler les
sources de la
bibliothèque et de ranger les objets dans des archives.
Si vous exécutez plusieurs fois une cible, le Makefile vérifie
toutes les dépendances et ne fait rien si tout est à jour, ou
recompile uniquement ce qui a été modifié.
Chacun des Makefile écrits dans les bibliothèques sources peut
aisément être réutilisé si vous faites des installations sur différentes
machines sans dupliquer les sources.
Au cours de la compilation tous les messages d'erreurs sont redirigés
dans des fichiers :
- output_compil contient tous les messages du compilateur,
- erreur_compil contient la liste des procédures qu'il
est nécessaire de recompiler (si ce fichier n'existe pas, cela veut
dire que toutes les
compilations se sont déroulées correctement).
Au cours de la compilation, dans le répertoire courant $MR/make/Install$MM, est créé
un répertoire portant le nom de la bibliothèque compilée, ce
répertoire contient temporairement les fichiers objets avant qu'ils
ne soient rangés dans une librairie.
Si une interruption survient lors de la compilation, les fichiers déjà compilés
ne sont pas perdus. En effet, lorsque que vous relancez le makefile, pour chacune des bibliothèques,
celui-ci va vérifier si un répertoire du même nom n'existe pas dans
le répertoire courant ($MR/make/Install$MM) ;
et si c'est le cas, avant d'effectuer les compilations il va archiver les objets contenus
dans le répertoire.
- effectuer les éditions de liens (cible executables),
comme précédemment (cible librairies), des Makefile sont écrits,
ceux-ci donnent les dépendances entre
les librairies objets et les programmes principaux contenus dans
les bibliothèques test et ppal ;
de cette manière, les éditions de liens se font uniquement avec
les bibliothèques
nécessaires (elles seront donc plus rapides).
Au cours de l'exécution de cette cible, plusieurs actions sont
donc effectuées :
- dans un premier temps, afin de produire les Makefiles des bibliothèques ppal et test,
les programmes exécutables procat et proimp sont créés,
(il est impératif que la création et l'exécution de ces deux programmes
se déroulent bien, sinon l'installation ne peut pas se poursuivre).
- les programmes principaux contenus dans la variable PPAL sont
créés,
- les programmes de test (contenus dans la bibliothèque test)
sont eux aussi créés,
- enfin, les fichiers en accès direct poba.direct et pobv.direct nécessaires lors de l'utilisation
de certains éléments finis vont être créés.





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
Suiv.: 7.2 Autres informations
Sup.: Procédure d'installation sous UNIX
Préc.: Procédure d'installation sous UNIX
Table des matières