Compiler | Installer | Comment utiliser LASE? | English version |
Si vous lisez ce document, vous devez utiliser un ordinateur avec unix et X-window, ou un terminal X depuis windows ou MacOS. Dans le cas contraire, cette archive ne vous sera pas d'un grand secours...
Cela signifie aussi que vous avez décompacté l'archive, nous
pouvons donc passer aux étapes suivantes.
Compiler LASE
Puisque LASE est fourni sous forme de code C, la première étape de l'installation est la compilation. Pour ce faire, vous devez disposer d'un compilateur C, mais aussi du logiciel make. Vous devez disposer de la version GNU de ce logiciel (GNU make), ou modifier manuellement le fichier Makefile. Avec certains systèmes, la version GNU peut être disponible sous le nom gmake.
LASE utilise maintenant le C99, que votre compilateur doit donc pouvoir comprendre (au moins partiellement). C'est le cas des versions récentes de gcc (depuis au moins la 2.95.2).
Avant de compiler, vous devez préciser les possibilités de votre système de travail. Elles sont indiquées dans le fichier Configuration, que vous devez donc éditer manuellement.
Dans ce fichier, toutes les lignes qui commencent par le symbole # sont des commentaires, ignorés. Les autres lignes définissent des variables utilisées lors de la compilation pour ajouter ou enlever une possibilité, ou pour informer sur l'environnement utilisé. Les différentes variables, et leurs valeurs possibles, sont détaillées dans le fichier et reprises ici.
Cette variable permet de préciser quelle variante d'unix est utilisée. Cette information est utilisée pour :
Il est donc préférable d'indiquer une valeur correcte pour éviter des problèmes de compilation. Si votre version d'unix n'est pas indiquée, vous pouvez toujours commencer par essayer celles indiquées (et utiliser gcc). Il vous faudra cependant probablement modifier manuellement les fichiers problématiques, pour inclure les bons en-têtes. Normalement, ces fichiers devraient tous se trouver dans le dossier Bib_X/.
Par défaut, un système de type linux est choisi (c'est celui que j'utilise).
Elle permet de préciser le compilateur C à utiliser, par défaut gcc. Si ce dernier n'est pas disponible ou si vous voulez utiliser le compilateur natif pour plus de performances, utilisez cc ou le nom de votre compilateur.
Attention, ce compilateur doit comprendre le C99. Pour certains d'entre eux, cela impose l'utilisation d'une option particulière qu'il faudra préciser. Si vous n'avez aucun compilateur C99, vous pouvez utiliser un compilateur C ISO « classique » en fournissant un remplacement pour les quelque fonctionnalités de C99 utilisées, dont vous trouverez la liste en fin de fichier.
Quelques extensions gcc sont aussi utilisées, mais facilement contournables si vous utilisez un autre compilateur. Voyez ici pour plus d'informations.
Si elle est définie, les textes sont cherchés dans le répertoire Textes/$(LANGUE) au lieu du répertoire Textes/fr. Cela permet donc d'avoir une version du logiciel en une autre langue que le français. Actuellement, seul l'anglais est aussi disponible (uk).
Si vous voulez traduire LASE dans une autre langue, il suffit de copier les fichiers du dossier Textes/uk (ou tout autre dossier existant, autre que le français car ces derniers ne contiennent pas les textes des boîtes de dialogue) dans un nouveau dossier, d'indiquer ce dossier comme valeur de la variable et de traduire tous ces fichiers dans la langue souhaitée.
Si cette variable n'est pas définie, la version française est construite.
Elle précise où seront installés tous les fichiers nécessaires au fonctionnement de LASE --- et indique donc aussi à ce dernier où les trouver !
Le programme lui même sera installé dans $(PREFIXE)/bin, le fichier décrivant les boîtes de dialogue (exafs.rsc) dans $(PREFIXE)/lib/ et tous les fichiers de données dans $(PREFIXE)/share/Lase. Voyez la documentation pour connaître le rôle de ces fichiers de données.
Par défaut, on essaye d'installer dans /usr/local, ce qui demande en général des droits d'accès particuliers. Si vous ne les avez pas, vous pouvez utiliser par exemple $(HOME).
Cette variable précise la commande à utiliser pour exécuter le logiciel FEFF de calcul théorique des oscillations exafs.
Cette commande n'est pas utilisée directement par LASE, mais par l'intermédiaire du programme shell lancer_feff qui est installé dans $(PREFIXE)/bin. C'est pour la génération de ce programme qu'est nécessaire cette variable, mais vous pouvez toujours modifier le shell-script ultérieurement (ce qui permet, en particulier, de changer de version de FEFF sans recompiler LASE).
Vous pourrez trouver davantage d'informations sur FEFF sur sa page officielle..
Cette variable contrôle la façon dont sont affichées les vues tridimensionnelles. Si elle vaut AVEC_OPEN_GL, on utilise Open-GL pour ces affichages (modèles structuraux, cartes). Sinon, ces vues tridimensionnelles ne sont pas disponibles.
Pour pouvoir utiliser Open-GL, vous devez avoir installé des bibliothèques Open-GL (par exemple Mesa). Attention, il faut que les fichiers d'en-tête soient aussi installés pour pouvoir compiler !
Si elle vaut OUI, LASE utilise la bibliothèque HDF (version 4). Actuellement, la seule option qui en fait usage est le chargement des fichiers expérimentaux enregistrés à Bessy 2.
Pour utiliser cette bibliothèque, vous devez auparavant la télécharger, la compiler et l'installer. Si vous ne l'installez pas dans un répertoire classique, vous devrez aussi modifier le fichier Makefile. Vous pourrez télécharger cette bibliothèque sur le site officiel du NCSA. Attention, actuellement seule la version 4 est utilisable.
Cette variable contrôle le jeu d'options disponibles dans LASE. Si elle vaut DEVELOPPE, on construit une version de développement, sinon une version normale.
La version de développement est beaucoup plus bavarde. De plus, les contrôles d'incohérence (plus nombreux) peuvent ralentir les calculs et sont prévus pour planter le programme, afin de faciliter leur repérage et leur correction. Enfin, elle peut conduire à la création de fichiers de log assez volumineux.
Cependant, plusieurs des options les plus récentes qui n'ont pas pu être complètement validées ne sont disponibles que dans cette version.
Il convient enfin de remarquer que construire une version de développement peut être plus difficile, car elle utilise des options spécifiques du compilateur ou du système pour optimiser le contrôle des erreurs. En particulier, certaines de ces options peuvent changer d'une version de gcc à l'autre !
À moins de vouloir participer au développement de LASE, la version normale devrait être plus adaptée.
Si vous avez la bibliothèque PNG disponible, vous pouvez l'utiliser pour faire des captures d'écran (moyen simple de créer des figures).
Attention, cette option n'est utilisable qu'en version de développement. Elle plante avec certaines résolutions d'écran et certaines versions de la bibliothèque, pour des raisons que je n'ai pas encore découvertes.
La plupart des systèmes X-Window récents proposent la bibliothèque XPM qui est alors utilisée pour afficher les icônes dans les messages d'alerte. Si elle n'est pas disponible, vous pouvez commenter cette variable. Cette bibliothèque n'a qu'un rôle cosmétique pour LASE...
Si cette variable est définie, le logiciel utilise une version spéciale des routines de gestion de la mémoire. Comme cela n'a qu'un rôle de déboguage, cela n'a de sens qu'avec la version de développement.
Une fois la configuration terminée, il suffit de taper make pour effectuer la compilation.
Si vous modifiez l'une des options précédentes, vous devez effacer
tous les fichiers de compilation intermédiaires avant de construire la
nouvelle version du logiciel. Pour cela, il suffit d'utiliser la
commande make nettoyer (ou make clean).
Installation
Une fois LASE construit, il faut l'installer. Cette étape est indispensable pour que le logiciel puisse ensuite trouver ses fichiers de données.
L'installation se fait avec la commande make installe. En fonction de l'emplacement choisi, il se peut que vous deviez effectuer l'installation en tant qu'administrateur système, pour avoir les droits d'accès.
Si le dossier d'installation des fichiers de données existe déjà, il est tout d'abord archivé (au format tar.gz). Ainsi, d'éventuelles modifications apportées par vos soins à ces fichiers ne seront pas perdues ; vous devrez cependant manuellement les réintégrer dans les nouveaux fichiers de données.
Pour utiliser LASE facilement, vérifier que le
chemin d'installation du programme lui-même est bien inclus dans votre
PATH ; vérifier de même que celui de la page de manuel est bien dans
le MANPATH (reportez-vous à la documentation de votre shell
pour davantage d'informations).
Comment utiliser LASE ?
Pour lancer LASE, il suffit de taper lase au prompt (en supposant qu'il a été installé dans un répertoire qui figure dans votre PATH).
Pour un aperçu des options en ligne de commande, utilisez la commande man lase (sous réserve que le chemin d'installation soit dans votre MANPATH).
Pour une introduction à LASE, lisez les tutoriaux qui se trouvent sur le site officiel, avec la documentation complète. Vous pouvez aussi télécharger cette documentation, au format HTML, depuis ce site.
Les exemples utilisés dans les tutoriaux peuvent être téléchargés sur ce même site.
Si vous avez des questions, commentaires ou suggestions, n'hésitez pas à m'envoyer un courrier électronique, à l'adresse figurant au bas de cette page.
Fonctionnalité | Utilisation |
---|---|
Entiers de taille imposée (int16_t, int32_t,...) | Chargement des fichiers binaires, en particulier le RSC (voir Utilitaires/lit_binaire.c). |
Macros à nombre variable d'arguments | Messages de developpement. Dans la version normale, vous pouvez remplacer les définitions des macros par des appels de fonctions vides, mais cela peut (fortement) ralentir le code (Utilitaires/deboguage.h et systeme.h). |
__function__ | Si gcc n'est pas utilisé, pour avoir l'équivalent de __FUNCTION__ (voir ci-dessous). |
Extension | Utilisation |
---|---|
__attribute__((__unused__)) | Marque les arguments de fonction inutilisés (pour éviter des avertissements inutiles). |
Macros __FILE__, __FUNCTION__ et __NUMBER__ | Obtenir le nom du fichier, de la fonction et le numéro de ligne en affichant les messages d'erreur |
Si ces extensions ne sont pas disponibles (ancienne version de gcc ou autre compilateur), un simple #define devrait permettre la compilation.