Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
smarteiffel [Le 30/10/2011, 19:59] – Ajout d'une dépendance nécéssaire ordiman85smarteiffel [Le 15/12/2011, 15:22] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +{{tag>programmation}}
  
 +----
 +
 +====== SmartEiffel : Compilateur Eiffel GNU ======
 +
 +**SmartEiffel** est un compilateur libre pour Eiffel, un langage purement orienté objet.
 +
 +
 +===== Compilation de SmartEiffel =====
 +Premièrement, vous aurez besoin d'installer une dépendance :
 +<code>sudo apt-get install build-essential freeglut3-dev</code>
 +
 +Vous devez ensuite aller chercher l'archive source de SmartEiffel sur le site de [[https://gforge.inria.fr/frs/?group_id=184|SmartEiffel]] en sélectionnant le fichier "smarteiffel.tgz" sous "Nightly Snapshot" (La date de l'archive au moment où j'écris est 13/01/2009).
 +
 +<note important>La version 2.3 (SmartEiffel-2-3.tgz) rencontre des problèmes avec la version 4.6 de gcc utilisée par Ubuntu 11.10 (oneiric) (problèmes d'optimisation avec l'option -O2).
 +
 +Un tutoriel pour y remédier existe : http://administratosphere.wordpress.com/2009/07/17/installing-smarteiffel-in-ubuntu-jaunty/</note>
 +
 +Ouvrez un terminal (Applications->Accessoires->Terminal), allez dans le répertoire dans lequel vous avez téléchargé l'archive et décompressez-la.
 +<code>
 +cd Répertoire_Contenant_l_archive
 +tar xvf smarteiffel.tgz
 +</code>
 +
 +Rendez-vous dans le répertoire de SmartEiffel.
 +<code>
 +cd SmartEiffel
 +</code>
 +
 +Tapez la commande de configuration :
 +<code>
 +./configure
 +</code>
 +
 +<note>Il se peut qu'il y ait des erreurs à la fin du résultat, comme par exemple :
 +<code>
 +***********/!\ Warning /!\**************
 +This configure file is just for information !
 +It will analyze your system and warn you for missing dependences librairies.
 +It does not generate makefile or any other files.
 +***********/!\ Warning /!\**************
 + 
 +Headers :
 +vfork.h not found, please install it if you want build SmartEiffel correctly
 + 
 +Functions :
 +clock_gettime not found, please install it if you want build SmartEiffel correctly
 + 
 +#####################################
 + 
 +If they're no headers or functions which aren't found you can install SmartEiffel by typing make or make interactive.
 + 
 +Then type VerifyAndStripTools to complete the installation
 +</code>
 +Pas de panique, certains éléments ne sont pas indispensables au bon fonctionnement de la compilation. Cependant, si le résultat affiche plus d'erreurs que ci-dessus, c'est peut-être à cause de paquets manquants.
 +</note>
 +
 +Lancez la compilation :
 +<code>
 +make
 +</code>
 +
 +Après quelques minutes, il devrait s'afficher :
 +<code>
 +SmartEiffel Release 2.4 (svn snaphsot 9308) [????]
 +
 +Generating configuration in /home/charly/.serc
 +    OK
 +
 +Using the existing compile_to_c as bootstrap compiler
 +
 +Building the compiler
 +compile.c: In function ‘basic_exec_posix_put_character’:-x c compile.c         
 +compile.c:446:8: attention : ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
 +    OK
 +
 +Building large tools (using the SmartEiffel parser and AST)
 +    OK
 +
 +Building helper tools
 +    OK
 +
 +Generating API docs
 +    OK
 +
 +Done.
 +</code>
 +
 +===== Installation de SmartEiffel =====
 +
 +<note>La procédure qui va suivre a pour but d'installer le compilateur dans votre dossier personnel (pour les comptes ne disposant pas de privilèges administrateur).</note>
 +
 +Dans un premier temps, créez un dossier .local/bin.
 +<code>
 +mkdir ~/.local/bin
 +</code>
 +
 +Copiez les fichiers exécutables vers .local/bin en remplaçant "Chemin_vers_SmartEiffel".
 +<code>
 +cp -R Chemin_vers_SmartEiffel/bin/* ~/.local/bin
 +</code>
 +
 +Modifiez le fichier .bashrc de votre dossier personnel :
 +<code>
 +gedit ~/.bashrc
 +</code>
 +
 +Ajoutez-y les lignes suivantes à la fin du fichier :
 +<code>
 +# Les exécutables/scripts dans /home/username/.local/bin seront accessibles par ligne de commande
 +export PATH=$PATH:$HOME/.local/bin
 +</code>
 +
 +Enfin, fermez les fenêtres de terminal pour que les changements soient effectués.
 +
 +Vous pourrez désormais compiler vos fichiers *.e grâce à la commande :
 +<code>
 +compile -o Mon_executable Mon_fichier.e
 +</code>