Installer openalea et vplants pour Windows Prérequis N.B. On trouve à peu près tous les paquetages suivants sur le site InriaGforge d’OpenAlea Si on veut les utiliser, dans ce cas, installer seulement Python, puis OpenAlea, puis installer QT, scons, gnuplot, boost, bison/flex, qhull... à partir d'OpenAlea Pour utiliser svn+ssh installer tortoise svn et OpenSSH for Windows http://sshwindows.sourceforge.net/ Se méfier car la variable d'environnement PATH peut se retrouver écrasée. o C’est « normal » qu’OpenSSH demande le mot de passe 3 fois Avec tortoise svn au pire on peut utiliser le navigateur de référentiel puis « extraire » le référentiel Installer Python >= 2.5 Installer Trolltech QT4 et vérifier la variable d'environnement QTDIR (doit contenir le chemin vers le répertoire parent de moc.exe) Installer MinGW (si QT4 ne l'a pas déjà installé) Installer MSYS sur http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Mettre à jour la variable d’environnement PATH en séparant les chemins par des ; sans espace Installer SIP de Riverbank en utilisant c:\python25\python configure.py -p win32-g++ o Cette étape est sûrement optionnelle si on télécharge le PyQt4 d'openalea Ceci peut échouer (pour des retours chariots à la Linux ?) Dans ce cas recopier les lignes de compilation et d’installation Installer Dev-cpp (optionnel ?) Installer PyQt4 Installer Scons Openalea Le plus simple est de faire python ez_alea_setup.py ; dans ce cas il faudra tout de même récupérer Openalea.SconsX A défaut : Installer Openalea.Deploy en se plaçant dans le répertoire deploy et en tapant python setup.py install Installer de même Openalea.DeployGui Faire de même pour les paquetages Core, Visualea et Catalog (répertoires core, visualea et catalog) Faire de même pour le paquetage SconsX (répertoire sconsx) – et aussi scons (?) Vplants faire Récupérer les sources de vplants par svn checkout svn+ssh://[email protected]/svn/vplants/vplants/trunk vplants Sous Tortoise svn, passer par le navigateur de référentiel, copier le chemin ci-dessus et « extraire » créer dans le répertoire vplants un fichier options.py avec import sys if('win' in sys.platform): [tab]compiler = 'mingw' # avec une tabulation N.B. [tab] signifie l'insertion d'une tabulation. Éventuellement trafiquer le script build_vplants.py pour que cmd = 'python setup-egg.py build' tout simplement et de même pour install_vplants.py et cmd = 'python setup-egg.py install' Installer bison et flex en utilisant OpenAlea Installer (dans le menu Démarrer ou par la commande pythonw.exe "c:\Python25\Scripts\alea_install_gui-script.pyw" ) Installer de même qhull Mieux vaut installer aussi boostpython-py et mingw-py sinon ils s’installent automatiquement mais en plusieurs exemplaires Installer Gnuplot et Gnuplot.py Compiler et installer vplants par la commande python install_vplants.py En cas d’échec compiler les modules un à un en respectant les dépendances décrites dans http://openalea.gforge.inria.fr/wiki/doku.php?id=packages:vplants:vplants Pour ce faire, se placer dans le répertoire ayant pour nom celui du module et utiliser la commande python setup-egg.py install En cas d'erreur due à des numéros de version des modules Vplants, changer ceux-ci dans vplants\stat_tool\setup-egg.py, vplants\aml\setup-egg.py, etc. pour qu’ils se correspondent Veiller à ce que les lignes "tree_statistic/src" "aml/src" Pour utiliser des modèles de Markov d'ordre variable, il est conseillé d'installer GraphPlot, qui est dans vplants/branches sous svn Pour installer OpenAlea dans un autre répertoire que celui par défaut, modifier le fichier install_vplants.py (ou build_vplants.py) de manière à ce que la commande exécutée soit python setup.py install --install-lib='mon_repertoire_de_modules_python' --install-dyn-lib=mon_repertoire_de_librairies_python_C++'" Pour recompiler un seul module, se placer dans le répertoire portant le nom de ce module, puis taper la commande ci-dessus Pour que la commande scons (recompilation) ait un effet de bord sur les librairies chargées, faire python setup.py develop --install-dir='mon_repertoire_de_modules_python' Refaire éventuellement scons après (vérifier que le fichier nom_de_module.egg-link est bien dans le répertoire des modules). N.B. Certaines options de options.py (debug, ...) peuvent faire échouer la compilation de modules (PlantGL ?) Pour générer la documentation sphinx : o installer le paquetage sphinx o installer le module python dvipng (à l'aide de easy_install dvipng par exemple) o se placer dans le répertoire du module et faire python setup.py build_sphinx Utiliser Visual Studio Pour utiliser Visual Studio comme éditeur et débuggeur, utiliser la procédure suivante : Installer bjam et le placer dans un répertoire du PATH. Compiler boost python avec le compilateur « msvc ». Ceci peut être effectué en utilisant Boost.Build, en modifiant user-config.jam et la variable d’environnement BOOST_BUILD_PATH Compiler QT avec le compilateur msvc2005. Pour ce faire, charger l’environnement de compilation MSCV à l’aide de la commande "%VS80COMNTOOLS%vsvars32.bat" (avec les doubles guillemets) puis taper configure -xplatform win32-msvc2005 -platform win32-msvc2005 et enfin nmake (l’ordre est important !) Modifier options.py comme suit : boost_libs_suffix = '-vc80-gd-1_36' # par exemple boost_includes='repertoire_boost' boost_lib='repertoire_contenant_boost_python-vc80-gd-1_36.lib' # par exemple Créer une solution Visual Studio contenant un projet par module. Pour le module à compiler et tous ceux dont il depend, suivre la procedure suivante : o Créer un projet Visual Studio Visual C++ de type « Makefile » o Modifier les lignes de commande build et mettre scons (scons –c pour nettoyer) o S’assurer que le fichier .vcproj est bien dans le répertoire racine du module. o utiliser python setup.py develop depuis le répertoire racine de chaque module, afin que Visual Studio sache où aller récupérer les librairies des autres modules Les modules doivent être compilés avec static=1 dans options.py Le module « tool » est un cas particulier. Pour le compiler, rajouter un fichier options.py dans le répertoire tool avec la ligne suivante : EXTRA_LIBS = 'advapi32.lib user32.lib gdi32 shell32.lib'