Compiler Blender sur une Kubuntu 7.10
By olivS, dimanche 9 décembre 2007 à 12:00 :: Compilation de programmes :: #105 :: rss :: PDF
Ce didacticiel réunit des informations de base sur la compilation par vous-même de Blender à partir des sources SVN (ex-CVS).
Fichier(s) attaché(s) :
Réunir les sources
Tout d'abord, avant de compiler quoi que ce soit, vous devrez vraiment avoir quelque chose à compiler. Les sources de Blender sont disponibles grâce à SVN. Dans ce didacticiel, nous verrons comment compiler Blender à partir des sources SVN ; les sources SVN sont mises à jour régulièrement, pratiquement sur une base quotidienne. Parfois, quelques fonctionnalités sont cassées, parfois non. Les compilations SVN devraient être considérées comme des logiciels Beta, réservées aux tests plutôt qu'à la production.
Besoin de quelques notions de base avant de démarrer?
Rappelez-vous qu'en toute occasion Wikipedia est votre ami.
Scons : http://fr.wikipedia.org/wiki/SCons
SVN (Subversion) : http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29
Crontab : http://fr.wikipedia.org/wiki/Crontab
Patch : http://fr.wikipedia.org/wiki/Patch_%28informatique%29
Récupérer les sources
Vous devrez installer le paquet subversion avant de continuer, en utilisant Synaptic, Adept ou n'importe quel Gestionnaire de Paquets que vous utilisez habituellement.
Ensuite vous créez dans votre /home un répertoire dans lequel les sources seront placées. Par exemple :
$ mkdir sources
$ mkdir svn-blender
$ cd ~/sources/svn-blender
Subversion va récupérer les sources SVN de Blender grâce à cette ligne, et les stocker dans le répertoire courant :
$ svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender
Et si vous souhaitiez compiler une version optimisée de la version officielle de Blender?
Le code source est disponible à partir de cette page : http://www.blender.org/download/source-code/
Vous pouvez les télécharger et exécuter Scons à partir du répertoire où vous les avez mis, tout comme dans ce didacticiel. Pensez à optimiser votre compilation en utilisant lesCCFLAGS,CXXFLAGS, etCPPFLAGSdans le fichieruser-config.py, et vous devriez obtenir de notables améliorations de performance.
Appliquer des patches au code source
Avant de procéder à la compilation, vous souhaiterez peut-être ajouter à Blender quelques fonctionnalités si expérimentales qu'elles ne figurent pas encore dans le SVN! Quelques exemples de tels patches, parmi les plus populaires au moment de l'écriture, sont :
- Le patch pour particules de jhkarh : http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite
- Le patch pour les caustiques de RCRuiz : http://blenderartists.org/forum/showthread.php?t=94998
Avant toute chose, vous devriez installer le paquet patch en utilisant Synaptic, Adept ou n'importe quel Gestionnaire de Paquets que vous utilisez habituellement. Ensuite, pour appliquer un patch, assurez-vous d'être dans le répertoire racine des sources de Blender :
$ cd ~/sources/svn-blender
puis utilisez la commande suivante, avec nom_du_patch étant le nom du fichier contenant le patch :
$ patch -p0 < nom_du_patch
Si vous avez besoin de restaurer les sources d'avant le patch, vous pouvez utiliser la commande suivante :
$ patch -p0 -R < nom_du_patch
Compiler Blender grâce à Scons
La compilation de Blender a récemment été simplifiée. Désormais, la compilation de ffmpeg est désormais possible, rendant la commande Make à peu près obsolète pour nos besoins. Pour cette raison, ce didacticiel est orienté pour Scons, et vous devriez installer le paquet scons (ainsi que le paquet build-essential) avant de continuer, en utilisant Synaptic, Adept ou n'importe quel Gestionnaire de Paquets que vous utilisez habituellement. Vous aurez également besoin d'un fichier de configuration pour ordonner à Scons les options à compiler, avec les optimisations nécessaires. Le fichier user-config.py suivant est destiné à préciser les options à compiler :
WITH_BF_FFMPEG = 'true'
BF_FFMPEG = "#extern/ffmpeg"
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = ''
WITH_BF_OPENAL = 'true'
BF_OPENAL = '/usr'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
# some distros have a separate libalut
# if you get linker complaints, you need to uncomment the line below
BF_OPENAL_LIB = 'openal alut'
WITH_BF_GAMEENGINE='true'
WITH_BF_VERSE='false'
BF_PYTHON_VERSION = '2.5'
Quelques commentaires :
BF_PYTHON_VERSION = '2.5': Si vous avez une distributions plus ancienne, vous devriez certainement spécifier'2.4'ici. Mais ma Kubuntu 7.10 est basée sur la version 2.5 de Python.CCFLAGS,CXXFLAGS, etCPPFLAGS: ces flags prennent en compte le type de votre processeur pour l'optimisation de votre compilation. Vous pouvez gagner en performance et en vitesse de calcul lors du rendu avec une compilation bien optimisée.
la compilation est démarrée grâce à cette simple ligne :
$ scons
Les ordinateurs à coeurs multiples sont désormais courants. Si vous avez un tel ordinateur, vous accélèrerez le processus de compilation en disant à Scons le nombre de coeurs disponibles. Par exemple, pour un ordinateur à double-coeur :
$ scons -j2
il est très vraisemblable que la compilation s'arrêtera bientôt sur un message d'erreur. C'est dû au fait que Blender dépend de pas mal de librairies de développement. Il vous faudra probablement installé quelques paquets supplémentaires, et recommencer la compilation à quelques reprises. Les principales librairies de développement qui devraient être installées sont :
- python2.5-dev (ou python2.4-dev sur les distributions plus anciennes)
- libjpeg62-dev
- libpng12-dev
- zlib1g-dev
- libopenal-dev
- libalut-dev
- libsdl1.2-dev
- libtiff4-dev
- libopenexr-dev
- libxi-dev
- libfreetype6-dev
- libxvidcore4-dev (en fonctions des librairies ffmpeg spécifiées dans
user-config.py) - libogg-dev (en fonctions des librairies ffmpeg spécifiées dans
user-config.py) - libvorbis-dev (en fonctions des librairies ffmpeg spécifiées dans
user-config.py) - ftgl-dev
- libsmpeg-dev
plus peut-être quelques autres.
Vous vous sentez perdu? Vous avez besoin d'aide?
Ne vous inquiétez pas, vous n'êtes pas seul, il y a plein de personnes sympathiques prêtes à vous aider :
- sur IRC :
irc.freenode.netserver,#blendercoderschannel- sur la Toile : http://www.blender.org/forum/viewforum.php?f=5
Et maintenant?
Si tout s'est passé comme prévu, vous devriez trouver un nouveau répertoire nommé install... Les binaires nouvellement complés de blender peuvent y être trouvés, accompagné des fichiers standards qui sont livrés avec chaque version officielle :
$ cd ~/sources/svn-blender/install/linux2/blender
Evidemment, vous pouvez maintenant profiter des toutes dernières versions de Blender. Mais il y a quelques autres choses que vous pouvez faire :
partagez vos compilations et optimisations!
Vous pouvez partager vos binaires avec les autres, si vous le souhaitez. Il y a différents endroits où vous pouvez les partager. La plupart est répertoriée dans l'article suivant, sur Blendernation : Blender Downloads.
Restez à jour!
Maintenant que vous avez compilé votre propre binaire une fois, il est très facile de le faire et refaire, sur une base régulière. Intéressé par une compilation hebdomadaire de Blender? Vous avez juste à lancer, une fois par semaine, la commande suivante :
$ cd ~/sources/svn-blender && svn up && scons
et vous pouvez même utiliser Crontab pour automatiser la chose.
)







Comments
1. On mardi 25 décembre 2007 à 00:57, by Luc Samana
Réponse de olivS le mardi 25 décembre 2007 à 09:34
2. On mercredi 18 mars 2009 à 12:57, by wiki
Add a comment