Shoop

Compiler haXe

Méthode de compilation faites sous Mandriva 2008.1 x86_64

Introduction

Les versions pré-compilés de haXe[1] ont les binaires haxelib et haxedoc qui ne fonctionnent pas sur une distribution 64bits, pour utiliser ces outils ils faut donc compiler haXe[2], mais avant de pouvoir le faire il faut compiler NekoVM[3] [4] que haXe utilise. De plus, j'utilise swfmill[5] qu'il faut aussi compiler, ce document en fera donc état aussi.

Pour compiler il vous faudra l''environnement nécessaire (autoconf, make, gcc, etc..) que je ne détaillerais pas ici.

Compiler Swfmill

Aucune complication particulière avec swfmill, récupérez l''archive et installer les dépendances suivantes :

  • lib64gc1
  • lib64gc1-devel
  • lib64png-devel
  • lib64xml2
  • lib64xslt
  • lib64freetype6-devel
  • libstdc++-devel

Puis effectuer la compilation habituelle ça roule tout seule :

 ./configure
 make
 make install

Compiler Neko

Récupérez l'archive des sources à compiler et installez les dépendances suivantes :

  • apache-devel-2.2.8-6mdv2008.1.x86_64
  • lib64gtk+-devel-1.2.10-48mdv2008.1.x86_64
  • lib64mysql-devel-5.0.51a-7mdv2008.1.x86_64
  • lib64mysql-static-devel-5.0.51a-7mdv2008.1
  • lib64pcre++-devel-0.9.5-4mdv2008.0.x86_64
  • lib64pcre++0-0.9.5-4mdv2008.0.x86_64
  • lib64sqlite0-devel-2.8.17-7mdv2008.1.x86_64
  • lib64sqlite0-static-devel-2.8.17-7mdv2008.1.x86_64
  • lib64sqlite3-devel-3.5.6-2mdv2008.1.x86_64
  • lib64sqlite3-static-devel-3.5.6-2mdv2008.1.x86_64
  • mysql-5.0.51a-7mdv2008.1.x86_64
  • mysql-client-5.0.51a-7mdv2008.1.x86_64
  • pcre-7.6-2mdv2008.1.x86_64

Pas de configure à faire, on passe directement au make.

Pendant la compilation, il est possible que le compilateur ne trouve pas son chemin pour libmysqlclient.a , si vous avez bien installer mysql-static-devel, retrouvez juste son emplacement et indiquez le (le répertoire de l'emplacement) dans le prompt.

Neko compile deux modules pour apache, un pour la version 1.3 et un pour la version 2.2. Cela dépend de vos besoins, si vous envisagez d'utilisez Neko avec Apache1.3 alors ils vous faut installer la librairie Apache devel pour la 1.3, sinon passez l''étape lorsque le prompt vous demandera ou il se trouve.

Finissez avec le make install. Ensuite il faut déclarez au système ou se trouve les librairies de developpement de Neko dans la variable LD_LIBRARY_PATH avec une commande de ce genre :

 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/neko

Pour ne pas avoir à le refaire à chaque connection de session, mettez cette commande dans votre ~/.bash_profile.

Compiler haXe

haXe en plus de Neko, requiert Ocaml pour compiler, téléchargez donc les dépendances suivantes :

  • Paquet de Ocaml
  • camlp4-3.10.2-1mdv2008.1

Ensuite, on peut passer par un script shell (en partie recopié de la page d''aide de compilation de haXe) tel que :

 mkdir haxe
 cd haxe
 # download and compile haxe, you may require some development libraries 
 # like libmysql, libz, libsqlite3, ... and of course ocaml
 wget http://haxe.org/_media/install.ml
 ocaml install.ml
 # install haxe in /usr/local
 mkdir /usr/local/haxe
 mkdir /usr/local/haxe/bin
 cp haxe/bin/* /usr/local/haxe/bin
 cp -r haxe/std /usr/local/haxe
 ln -s /usr/local/haxe/bin/haxe /usr/local/bin/haxe
 # setup environment variables for haxe
 grep "HAXE_LIBRARY_PATH" /etc/environment || echo "export HAXE_LIBRARY_PATH=/usr/local/haxe/std:." >> /etc/environment

Ce script est à éxécuter sous l'utilisateur root, vous pouvez aussi faire les commandes de ce script une à une afin de corriger les problèmes si il y'en a. Il est possible que la variable d'environnement HAXE_LIBRARY_PATH ne soit pas active dès la fin de l'installation, utilisez alors la commande :

 export HAXE_LIBRARY_PATH=/usr/local/haxe/std:.

À mettre dans votre .bash_profile si la variable d'environnement n'est toujours pas active même après une déconnexion ou un reboot.

Compiler haxelib et haxedoc

Enfin pour compiler haxelib allez dans le répertoire haxe/std/tools/haxelib puis utilisez haxe tel que :

 haxe haxelib.hxml

Puis compiler haxedoc de la même façon dans le répertoire haxe/std/tools/haxedoc avec haxe tel que :

 haxe haxedoc.hxml

Cela vous produira les binaires haxelib et haxedoc que vous devrez copier tout les deux dans /usr/local/haxe/bin ensuite faire un lien symbolique de chacun dans /usr/local/bin tel que :

 ln -s /usr/local/haxe/bin/haxelib /usr/local/bin/haxelib
 ln -s /usr/local/haxe/bin/haxedoc /usr/local/bin/haxedoc

Conclusion

Et voila tout est installé, normalement vous devriez donc pouvoir utiliser haxe, haxelib et haxedoc sans soucis, il est important de se rappeler que LD_LIBRARY_PATH et HAXE_LIBRARY_PATH soient bien renseignés à chaque démarrage de session de votre utilisateur qui essaye de se servir de ces outils.

Notes

[1] haXe

[2] Compiler haXe

[3] NekoVM

[4] Compiler NekoVM

[5] swfmill : Un outil pour compiler des applet Flash simple tel que des templates.

Dernière édition le Tuesday 05 May 2009 à 19:22