Modulefpreviousupnextcontents[BIG][Normal][small]
Suiv.: 7.2 Autres informations Sup.: Procédure d'installation sous UNIX Préc.: Procédure d'installation sous UNIX Table des matières


Déroulement de l'installation

 

L'installation s'effectue avec l'aide d'un Makefile, et se décompose en deux étapes:

  1. Création du Makefile d'installation,
  2. Installation : exécution du Makefile.

Etape 1

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 : Ces actions effectuées, le Makefile vous donne quelques instructions pour la suite :
  1. changer de répertoire ( cd Install $MM)
  2. consulter le fichier M_config contenu dans ce répertoire,
  3. relancer le makefile ( make).
Nous allons maintenant reprendre un à un chacun de ces points :
  1. changer de répertoire ( cd Install $MM)
    On se met dans le répertoire dans lequel on va poursuivre l'installation,
  2. 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 :

  3. relancer le makefile ( make)
    On est alors dans la deuxième partie du makefile : l'installation proprement dite.

Etape 2

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.

L'exécution du makefile va maintenant se poursuivre, le makefile va tour à tour :

  1. traduire les format d'impressions, si la variable LANGUAGE n'est pas initialisée à une chaîne de caractère vide,
  2. 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 : 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.

  3. 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 :


Modulefpreviousupnextcontents[BIG][Normal][small]
Suiv.: 7.2 Autres informations Sup.: Procédure d'installation sous UNIX Préc.: Procédure d'installation sous UNIX Table des matières