Mode d'emploi et manuel de référence

Previous Up

3.10  Dépannage

ePiX est constitué de sept fichiers : un fichier d'entête (epix.h), une bibliothèque compilée (libepix.a), un fichier de code shell commun (epix-lib.sh) et quatre shell-scripts (epix, elaps, laps, et flix). Ces fichiers sont créés à la compilation en utilisant les variables du Makefile. Outre les parties exécutable du programme, on trouve des fichiers d'exemple, de la documentation, des fichiers de configuration et des notes diverses. Ces composants sont placés dans des emplacements standards.

Installation

L'installation public (dans /usr/local) se fait par défaut. Décompacter l'archive tar puis déplacez-vous dans le répertoire des sources (epix-x.y.z_complete). Lancez

./configure [option(s)]
make
make install

(la dernière en tant que root si besoin). Si vous avez fait l'installation quelque part sous $HOME lisez le fichier FR-POST-INSTALL pour des instructions complémentaires.

Le répertoire dans lequel vous installez ePiX est noté $INSTALL. Un make install réussi crée les fichiers suivants :

  $INSTALL/bin/{epix,elaps,laps,flix}
  $INSTALL/include/epix.h
  $INSTALL/lib/{libepix.a,epix-lib.sh}
  $INSTALL/share/man/man1/epix.1

Les manuels, documents d'exemple, notes et fichiers README, et les fragments de configuration sont installés dans des sousrépertoires de $INSTALL/share/doc/epix.

Problèmes connus

Des versions boguées du script de conversion ps2epsi ont été diffusées avec des versions récentes de RedHat et Mandrake. L'auteur a vue deux erreurs différentes d'un octet qui font que elaps échoue avec une erreur de sed. Si elaps produit une erreur de sed vous avez un ps2epsi bogué. Cherchez le message d'erreur précis ou, si vous êtes habile avec les expressions régulières7 réparer le script vous-même. (Dans les deux cas évoqués ci-dessus le problème était un caractère spécial non-protégé.)

Erreurs d'exécution

Des fautes de frappe créent des erreurs quand on lance epix ; le compilateur émet en général des messages utiles, désignant les lignes fautives du fichier d'entrée et le type d'erreur.

Deux sources communes d'erreur dans un fichier d'entrée syntactiquement correct concernent les mauvais placements de la caméra et les intersections non-génériques. Si la caméra est trop près d'objets de la scène, il arrive que l'objectif essaie de diviser par zéro (ou par un petit epsilon) entrainant une erreur nan (ou des coordonnées très grandes) dans le fichier de sortie. Dans cette situation, epix réussira mais elaps échouera. En revanche, un message d'erreur de la forme :

  /usr/local/bin/epix: line 275: 27333 Aborted ...

signale une exception non traitée et donc une intersection non-générique.

Bien que les scripts soient énormément testés, ils sont des sources possibles d'ennuis à l'exécution. Par exemple, elaps essaie de passer des options au compilateur tout en s'en gardant d'autres pour son usage propre, tout cela en essayant de traiter intelligemment les commandes malformées. Si un script fait quelque chose d'inattendu, c'est problablement une Fonctionnalité pas un Bogue. Dans tous les cas, faites connaitre à l'auteur les comportements anormaux.

Erreurs de script

Si un script échoue (le fichier de sortie est inexistant ou illisible), relancez le script avec l'option -v (verbose c.-à-d. verbeux, bavard). Cela fera écrire la sortie et les messages d'erreur à l'écran.

Commande introuvable

Afin d'utiliser ePiX, le répertoire $INSTALL/bin doit se trouver dans votre PATH (cf. FR-POST-INSTALL) ; tapez
echo $PATH
pour voir votre PATH. Si le répertoire $INSTALL/bin/ ne s'y trouve pas, lisez le fichier FR-POST-INSTALL ou demandez de l'aide à un « expert». La procédure peut dépendre du shell que vous utilisez. Dans tous les cas, vous devrez modifier le fichier de configuration du shell.

Si vous ne pouvez toujours pas faire fonctionner ePiX, envoyez un courriel à l'auteur. En général, il est utile de préciser la version du système d'exploitation (p. ex. RedHat 8.2 ou Debian Potato sur un G4 Powerbook), la version du compilateur C (p. ex. gcc-3.2), la version d'ePiX et le site depuis lequel vous avez téléchargé les sources (CTAN, le site du projet, etc.) Si vous ne comprenez pas ce que signifie un message d'erreur, n'hésitez pas à le copicoller ou à l'attacher à votre courriel comme texte pur. L'auteur n'a pas accès à un grand nombre de variété de systèmes et parfois les erreurs signalées ne trouvent pas d'explication mais, à ce jour, aucun problème n'est resté sans solution.

Erreurs de LATEX

Quelques raisons peuvent faire que LATEX s'arrête avec un message d'erreur pendant la lecture d'un fichier eepic écrit par ePiX. La plus commune est l'apparition d'un nan (not a number c.-à-d. « pas un nombre») là où LATEX attend un nombre. Cela signale généralement une division par zéro ou une mauvaise exponentiation.

Quand un nombre est très petit, ePiX peut l'écrire en notation exponentielle. Si cela se produit, LATEX s'arrête avec un message d'erreur lorsqu'il tente de lire quelque chose comme 1.4142135e-14. Ce bogue a été traité ; adressez un rapport de bogue à l'auteur si vous rencontrez ce comportement dans un code ePiX. Vous pouvez éditer manuellement le fichier eepic et remplacer le soupacement de capacité (underflow) par 0. Dans ce cas, il est judicieux de renommer le fichier modifié de peur qu'ePiX ne l'écrase à la prochaine exécution.

Des dépassements de capacité sont possibles avec LATEX si un point a des coordonnées supérieures à 216, vérifiez que vous ne tentez pas de représentez graphiquement un pole ou quelque chose de ce genre.


7
Note du TdS : Ou « rationnelles» dont l'usage se perd.

Previous Up