Blender (jusqu'à 2.49)
Compiler Blender  sans peine
avec SVN, Python et Scons
sous windows xp 
    Début   Index
précédent Patch TEX node blurs
En chantier Suivant

1/ Récupérer et installer les sources, SVN ou Tarballs
2/ Scons, l'assistant de compilation

Introduction

En général, les experts de la compilation n'ont pas besoin de ce type d'information. Cette page s'adresse donc principalement aux très grands débutants en programmation ou aux graphistes qui n'auraient pas spécialement un besoin urgent de se lancer dans ce type de démarche mais qui souhaiteraient s'initier à une nouvelle technique ou simplement connaître l'état de développement de leur logiciel préféré avant tout le monde. 

1/ Récupérer et installer les sources, SVN ou Tarballs

SVN est l'acronyme de SubVersioN. C'est un logiciel de travail en collaboration qui permet de gérer différentes versions soit dans le temps : les différences entres les versions sont mémorisées chronologiquement, soit dans l'espace : chaque client peut disposer d'une version locale qu'il modifie à sa convenance et poste sur le serveur central s'il en possède les droits. Ainsi les développeurs d'un projet particulier peuvent-ils travailler sur différentes versions et les fusionner au même endroit en gardant une trace de toutes les modifications même les plus insignifiantes. C'est tout l'intérêt de la chose car si après une mise à jour, un état du serveur pose un problème, il est facile de supprimer automatiquement les modifications gênantes pour revenir à une version antérieure stable. Pour l'utilisateur lambda, seule la partie client possède un intérêt puisqu'elle permet de mettre à jour rapidement sa version personnelle quand il y a eu des modifications sur le serveur.

Sous Windows, SVN existe en version fenêtrée sous le nom de TortoiseSVN  mais à l'usage on se rend compte qu'il est beaucoup plus  pratique de travailler en ligne de commande. Il vaut mieux utiliser SVN tout court. En effet, si les textes sont un peu plus longs à taper qu'un clic souris, il est en revanche plus simple de contrôler les dossiers que l'on est en trains de traiter réellement. 

Un serveur SVN peut contenir plusieurs projets. Dans le cas de Blender, il existe un tronc principal 
 

...
c:\bf-blender>svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
..

et des embranchements qui contiennent des développements spéciaux comme l'intégration de Freestyle ou des Bmeshes. Enfin, les versions officielles, celles qui sont téléchargeables sur le site blender.org, sont "taguées" (ce qui revient à figer une copie du tronc au moment choisi) de manière à ce qu'une telle version  ne soit pas modifiée pendant la phase de compilation. Jusqu'au milieu de l'automne 2009,  l'équipe de développement de Blender travaillait  sur la version 2.50 au niveau d'un embranchement. La version 2.49b correspondait alors au tronc principal. Mais cela cela s'est inversé. Blender 2.49b a glissé sur une branche dédiée :
 

...
c:\bf-blender>svn co https://svn.blender.org/svnroot/bf-blender/branches/blender2.4
..

et Blender 2.50 est devenu la version de travail du tronc principal.. 

Si malgré tout on ne souhaite pas utiliser le gestionnaire de version, on peut trouver des sources (presque) prêtes à l'emploi dans le dossier http://download.blender.org/source/ . Ce fichier que les pros nomment un tarball doit être déplié dans le dossier c:\bf-blender\blender. Mais ce ne sera pas suffisant car un certain nombre de bibliothèques de fonction sont nécessaires et elles ne sont pas fournies dans cette archives. On peut les trouver sur le DVD-ROM qui accompagne le livre Blender Starter Kit (voir dans le dossier sources) ou sur un site de téléchargement de gros fichier de free.fr : http://dl.free.fr/gvW449xf9 . Ces bibliothèques doivent être obligatoirement déposées dans le dossier : c:\bf-blender\lib\windows. C'est un pré-requis indispensable. 
 

ATTENTION
L'arborescence de dossier doit être scrupuleusement respectée pour arriver au bout d'une compilation sans erreur.

* .
* ..
* blender
( il est possible de renommer en blender_25 )
* lib

..

2/ Scons

Scons est un outil  de gestion  de compilation programmé en python. Autrement dit, au travers des scripts qui le compose,  on circule dans l'ensemble des fichiers source de Blender pour en effectuer la compilation en ligne de commande. On doit commencer  nécessairement par installer le langage Python complet, soit la version 2.5 ou la 2.6, c'est sans importance mais surtout pas la 3.1 dont certaines fonctions sont incompatibles. Ensuite le dernier Scons en date : version 1.2. Normalement, les versions 1.1 et un 1.2 sont livrées en local avec les sources de Blender. Il ne reste plus qu'à ouvrir une console msdos autrement dit une fenêtre de commande en ligne que l'on peut créer en  écrivant une simple ligne de texte: "cmd.exe" dans un ficher texte nommé commande.bat.. Un clic gauche sur ce fichier ouvre la console. L'opération suivante consiste à passer une commande en ligne pour se rendre dans le le dossier contenant les sources de Blender. Comme la commande de changement de dossier est cd, on tape donc :
 

...
c:\>cd c:\bf-blender\blender
..

3/ Path et autres bibliothèques
On peut vérifier que le python est bien repéré par la variable d'environnement PATH
 

...
c:\bf-blender\blender>set path 
......

Pour une utilisation courante à partir de Blender cette modifation n'est pas nécessaire mais dans le cadre d'une compilation avec Scons, oui. Pour qu'il fonctionne correctement dans le contexte de la console, il faut ajouter l'adresse du dossier python25 ou python26. On peut le faire en ligne de commande :
 

...
c:\bf-blender\blender>set path = %path%c:\python25\;c:\python25\scripts
...

Attention, ce n'est qu'une modification provisoire qui disparaît dès que la console est fermée. On peut modifier la variable de manière définitive de la manière suivante : 

    1. ouvrir les propriétés du Poste de travail avec un clic droit sur l'icône du bureau ;

    2. choisir l'onglet : Avancé ;

    3. enfoncer le bouton : Variables d'environnement (tout en bas);

    4. aller au tableau  Variables système ;

    5. sélectionner  Path ;

    6. enfoncer le  bouton  Modifier ;

    7. Ajouter l'adresse du ou des dossiers.

Une fois la problème du chemin réglé, on peut utiliser deux outils de compilation au choix. Soit Microsoft Visual Studio Express qui est libre d'utilisation avec quelques restrictions (je conseille de télécharger le DVD-ROM complet),  soit MingW qui est totalement libre. Dans le premier cas, comme pour le PATH,  on doit vérifier que certaines variables d'environnement sont bien installées :
 

...
c:\bf-blender\blender>set lib
...

qui doit renvoyer au moins ceci :
 

....
LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\lib

ainsi que :
 

...
c:\bf-blender\blender>set include
...

pour laquelle on attend ce contenu:
 

...
.INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\include
...

(ces variables d'environnement seront certainement différentes avec MSVC 9).


Enfin, on lance la compilation en ligne de commande :
 

...
c:\bf-blender\blender>python scons\scons.py
...

ou  :
 

...
c:\bf-blender\blender>python scons\scons.py  BF_TOOLSET=mingw
...

... si on souhaite utiliser les outils libres de MingW. L'option BF_QUIET=0 permet de suivre la compilation en détail :
 

...
c:\bf-blender\blender>python scons\scons.py  BF_TOOLSET=mingw BF_QUIET=0
...

... mais rallonge considérablement la durée des opérations puisque toutes les informations passées au compilateur sont affichées à l'écran.

Pour ma part, je préfère utiliser la version scons qui s'inscrit dans le python du système. Dans ce cas, il faut  vérifier qu'un fichier scons.bat soit dans le dossier "c:\python25\scripts" ou "c:\python26\scripts".

Pour compiler sous MingW,  si dernier se trouve dans le dossier : C:\stock_logiciel\mingw\bin, on peut créer un  fichier de commande .bat qui contient ces lignes :
 

cd C:\bf-blender\blender
path=%path%;c:\stock_logiciel\mingw\bin;c:\stock_logiciel\mingw\lib
call scons BF_TOOLSET=mingw BF_QUIET=0
strip c:\bf-blender\install\win32-mingw\blender.exe
cmd.exe 

Cette  méthode évite d'avoir continuellement le chemin de MingW dans la liste des chemins de recherche. L'outil strip permet d'alléger les fichiers objets de leur symboles et au  final de supprimer jusqu'à 25 ou 30 % du poids totale du fichier exécutable. 

précédent Patch TEX node blurs
 En Chantier Suivant
Vers le  Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube