Carto
Un article de WikiProg.
Sommaire |
Paquets manquants (lablgtk et compagnie)
- M.A.J. 2011-10-22
Les paquets manquants sur les nouveaux racks (en l'occurrence lablgtk-devel et lablgl-devel) sont disponibles sur le dépôts des ACUs.
Pour ajouter ces paquets (ou les autres que les ACU ajoutent), il faut suivre la procédure suivante:
- taper la commande pkg_installer qui lance une interface graphique
- mettre à jour la liste des paquets (via les menus)
- chercher les paquets (via l'outil de recherhce) et les installer
Cette procédure ne nécessite pas d'être root sur son rack.
D'autres ajouts seront peut être fait par cette méthode. Vous pouvez aussi installer les deux autres paquets fournit par les ACU (valgrind et vim-X11.)
Cartes pour le projet de Cartographie
Des cartes de références pour le projet de cartographie peuvent être générée à l'aide de mon générateur de cartes.
Le générateur est disponible ici: Media:CarteGenerator.tar.bz2
Le générateur utilise du bruit de perlin, si vous souhaitez ajuster les paramètres allez chercher leur signification sur Internet ...
Compilation et Usage du générateur
Le générateur est en C et en OCaml et compile sur vos racks.
Compilation
> tar xf CarteGenerator.tar.bz2 > cd CarteGenerator > make ...
Usage
[depuis le répertoire précédant] > ./genperlin [devrait afficher une carte et attend une touche] > ./genperlin -help Perlin noise map generator: -alpha Alpha parameter -beta Beta parameter -octave Number of octaves -save Output bmp to stdout -seed Initial random seed -povcolor Use color for POVray HF -grey Smooth grey level -help Display this list of options --help Display this list of options > ./genperlin -save > out.bmp [affiche l'image générée et sauve le fichier dans out.bmp]
Compilation avec lablGL sur les racks
Comme certains l'ont remarqué, la compilation avec lablGL pose quelques problèmes. Il faut rajouter certaines options de compilation qui ne sont pas forcément nécessaires sur d'autres intallations.
En pratique: assurez d'avoir l'ensemble des modules sur votre ligne de compilation (lablgl.cmxa et lablglut.cmxa) ainsi que les bons chemins (-I +lablGL).
De plus, le linker ne trouvant pas libglut tout seul, il faut un peu ruser (le problème existe aussi en C.) Tout d'abord, il faut créer un lien symbolique du fichier /usr/lib/libglut.so.3 dans votre répertoire de travail (ou tout autre endroit où vous avez les droits d'écriture.) Ensuite, il faut ajouter une option pour indiquer au linker (ld) où chercher cette bibliothèque, pour ça on utilise l'option -ccopt d'ocamlopt. En résumé, vous devrez effectuer les commandes suivantes:
> ln -s /usr/lib/libglut.so.3 libglut.so > ocamlopt -I +lablGL -ccopt -L. lablgl.cmxa lablglut.cmxa -o votreprog <vos modules>
Si vous désirez mettre libglut.so dans un autre répertoire, vous devrez changer le -L. par -L<votre repertoire>
Autres problèmes de compilation similaires
Il semblerait que glut ne soit pas la seule bibliothèque mal installée, GTKGL a le même problème.
Donc même symptome, même solution: il faut créer un lien symbolique du fichier ".so" :
> ln -s /usr/lib/libgtkgl-2.0.so.1 libgtkgl-2.0.so
De manière générale, lorsque votre programme refuse de compiler sur un problème de bibliothèques (symboles manquants, en général erreurs illisibles venant de "ld"), il faut chercher la bibliothèque correspondante (quelque chose du genre libXXX.so.Y) et faire un lien symbolique dont le nom se termine par .so.
Visualiser des .obj
Il existe de nombreux visualisateur de fichier .obj mais aucun n'est installé sur vos racks. Certains pourront peut être compiler, mais ce n'est pas forcément la solution la plus simple.
J'ai trouvé un petit viewer (sans prétention) qui ne dépend de rien et n'a même pas besoin d'être compilé/installé. Vous le trouverez ici: http://jestermon.weebly.com/pyobjviewer.html
Pour vous en servir, décompressez le fichier .zip quelques part sur votre compte et lancer simplement (depuis le répertoire de décompression) la commande suivante:
> python pyobjviewer.py monFichier.obj
- CORRECTION: il semblerait que pyobjviewer ne marche pas sur vos racks
Vous pouvez aussi utiliser blender [1] qui lui aussi ne dépend de presque rien (testé avec succès sur vos racks.) Il faut prendre la version Linux 32bits pour python 2.6.
Construire des interfaces en GTK
Pour construire une interface en GTK vous avez deux possiblités:
- le faire à la main intégralement
- utiliser un builder d'interface comme glade ou gazpacho (non installés tous les deux.)
Intallation sur votre rack de gazpacho
Gazpacho est censé être mieux que glade et surtout, étant écrit en python il est relativement simple à installer.
Il vous faut d'abord la lib kiwi [2] (le fichier à récupérer est aussi disponible ici: Media:kiwi-1.9.26.tar.gz.) L'installation peut se faire dans votre home très simplement. Vous devez d'abord choisir un répertoire d'installation (ici nous prendrons ~/pylib) pour la suite suivez ces commandes (on considère que la tarball de kiwi se trouve dans le repertoire courrant):
> mkdir ~/pylib > tar xf kiwi-1.9.26.tar.gz > cd kiwi-1.9.26 > python setup.py install --prefix=~/pylib
Pour faire fonctionner des programmes utilisant cette bibliothèque, vous n'aurez plus qu'à définir la variable d'envirronnement PYTHONPATH. Voici la syntaxe pour différents shells, à ajouter au fichier de démarrage correspondant:
# zsh (ou bash ... ) > export PYTHONPATH=~/pylib/lib/python2.6/site-packages # tcsh > setenv PYTHONPATH ~/pylib/lib/python2.6/site-packages
Vous pouvez maintenant récupérer Gazpacho ([3] ou Media:gazpacho-0.7.2.tar.gz.) Une fois décompressé, vous trouverez (dans le répertoire correspondant) un sous-répertoire bin contenant l'exécutable gazpacho, il ne vous reste plus qu'à le lancer (depuis un shell en ayant bien pris soin de fixer la variable d'envirronnement comme expliqué juste au-dessus.)
> tar xf gazpacho-0.7.2.tar.gz > cd gazpacho-0.7.2 > bin/gazpacho # Enjoy ...
