Installation d'un environnement de compilation Windows: Difference between revisions
updated to reflect modifications in english source version |
m →Mettre à jour l'environnement de compilation: We need the pkg-m4 file shipped with pkg-config-dev |
||
Line 112: | Line 112: | ||
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip] | :[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip] | ||
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip] | :[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip] | ||
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip] | |||
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip] | :[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip] | ||
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip] | :[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip] | ||
Line 117: | Line 118: | ||
;''Paquets externes'' installation dans le répertoire local de MSYS "<tt>/local</tt>" (<tt>C:\Programs\msys\1.0\local\</tt> ou <tt>C:\MinGW\local\</tt>) | ;''Paquets externes'' installation dans le répertoire local de MSYS "<tt>/local</tt>" (<tt>C:\Programs\msys\1.0\local\</tt> ou <tt>C:\MinGW\local\</tt>) | ||
:[http://subversion.tigris.org/files/documents/15/46518/svn-win32-1.6.5.zip svn-win32-1.6.5.zip] | :[http://subversion.tigris.org/files/documents/15/46518/svn-win32-1.6.5.zip svn-win32-1.6.5.zip] | ||
=== La question de Perl === | === La question de Perl === |
Revision as of 22:48, 28 February 2010
Compilation Windows : Statut
Le binaire et les plugins s'exécutent et semblent pleinement fonctionnels. Si vous rencontrez un comportement inattendu ou des bugs, merci de bien vouloir signaler le problème sur notre système de suivi de problèmes : bugzilla.
Problèmes connus
- Le code connecteur réseau (socket) ne fonctionne pas et donc les fichiers ne peuvent être ouverts de l'extérieur dans une fenêtre fille.
- Le lancement de programmes externes ne fonctionne pas.
- L'édition de fichiers UTF avec entête BOM n'est pas actuellement pris en charge.
Installer votre environnement de compilation
La première étape est évidemment d'installer et configurer les environnements MinGW et MSYS. Commencer par l'installeur automatisé de MinGW. Au cours de l'installation choisir le compilateur g++ (ne pas choisir MingW make). L'emplacement recommandé est C:\MinGW, mais il n'est pas obligatoire de choisir ce chemin. Il faut ensuite installer le système de base de MSYS. L'emplacement de l'environnement MingW vous dera demandé. Si par exemple vous l'avez installé dans P:\Programs\MinGW, répondez
p:/programs/mingw
à cette question (note: cette information sera inscrite dans /etc/fstab de l'environnement MSYS).
Si vous savez ce que vous faites, vous pouvez alternativement télécharger et installer (unzip/untar/...) manuellement les paquets .
Changements récents de l'environnement de compilation
Si vous maintenez un environnement de compilation pour Bluefish merci de bien vouloir lire et appliquer cette sous-section qui contient d'importants changements !
- 2009-12-10
- Si vous construisez vos propres installateurs, nous utilisons à présent une version unicode de NSIS, Unicode NSIS, permettant le support des traductions encodées UTF-8.
- 2009-09-23
- Les paquets GNOME on étés mis à jour pour correspondre à ceux inclus dans l'installeur GTK+ de Pidgin.
- Il est actuellement utilisé en tant qu'environnement d'exécution cible pour l'installeur de Bluefish. Si vous installez pour la première fois votre environnement vous pouvez négliger cette section car les informations données ci-dessous ne vous concernent pas. Si vous avez déjà construit votre environnement de compilation, vous devez mettre à jour quelques paquets avec les versions proposées ci-dessous. Ceci concerne atk (1.26.0->1.24.0), glib (2.20.4->2.18.4), gtk+ (2.16.5->2.14.7), et pango (1.24.5->1.22.4).
- Si vous n'avez pas l'intention de lancer la compilation de Bluefish hors de votre environnement MSYS ce changement n'est pas obligatoire. Toutefois si vous voulez le faire et désirer conserver GTK+ 2.16 vous pouvez utiliser l'installeur GTK-Win. Cette version n'est pas officiellement supporté par le team de développement car si elle convient à Bluefish, elle n'est pas compatible avec Pidgin, garder ceci en mémoire si vous utilisez les deux programmes.
Mettre à jour l'environnement de compilation
La seconde étape consiste à mettre à jour et/ou installer tous les logiciels nécessaires. Vous pouvez les télécharger et les extraire manuellement. Vous devez les extraire dans le répertoire où vous avez installé MSYS. Cet emplacement est usuellement C:\Programs\msys\1.0\ (ou C:\MingGW\). Gardez en mémoire que cet emplacement équivaut au répertoire racine (root directory) / et à /usr/ (qui sont le même emplacement) dans MSYS. Note: de même /local and /usr/local désignent le même répertoire.
- Paquets MinGW installation à la racine de MingW (C:\MinGW\)
- w32api-3.13-mingw32-dev.tar.gz
- mingw-utils-0.3.tar.gz
- mingwrt-3.16-mingw32-dev.tar.gz
- mingwrt-3.16-mingw32-dll.tar.gz
- Paquets MSYS installation dans le répertoire racine de MSYS "/" (C:\Programs\msys\1.0\ ou C:\MinGW\)
- msysCORE-1.0.11-bin.tar.gz
- autoconf-2.63-1-msys-1.0.11-bin.tar.lzma
- automake-1.11-1-msys-1.0.11-bin.tar.lzma
- bison-2.4.1-1-msys-1.0.11-bin.tar.lzma
- bzip2-1.0.5-1-msys-1.0.11-bin.tar.gz
- crypt-1.1_1-2-msys-1.0.11-bin.tar.lzma
- findutils-4.4.2-1-msys-1.0.11-bin.tar.lzma
- flex-2.5.35-1-msys-1.0.11-bin.tar.lzma
- gawk-3.1.7-1-msys-1.0.11-bin.tar.lzma
- gdbm-1.8.3-2-msys-1.0.11-bin.tar.lzma
- gettext-0.17-1-msys-1.0.11-bin.tar.lzma
- grep-2.5.4-1-msys-1.0.11-bin.tar.lzma
- groff-1.20.1-1-msys-1.0.11-bin.tar.lzma
- guile-1.8.7-1-msys-1.0.11-bin.tar.lzma
- gzip-1.3.12-1-msys-1.0.11-bin.tar.lzma
- libbz2-1.0.5-1-msys-1.0.11-dll-1.tar.gz
- libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma
- libgdbm-1.8.3-2-msys-1.0.11-dll-3.tar.lzma
- libguile-1.8.7-1-msys-1.0.11-dll-17.tar.lzma
- libiconv-1.13.1-1-msys-1.0.11-bin.tar.lzma
- libltdl-2.2.7a-1-msys-1.0.11-dll-7.tar.lzma
- libminires-1.02_1-1-msys-1.0.11-dll.tar.lzma
- libopenssl-0.9.8k-1-msys-1.0.11-dll-098.tar.lzma
- libregex-1.20090805-1-msys-1.0.11-dll-1.tar.lzma
- libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma
- lndir-1.0.1-1-msys-1.0.11-bin.tar.gz
- m4-1.4.13-1-msys-1.0.11-bin.tar.lzma
- man-1.6f-1-msys-1.0.11-bin.tar.lzma
- minires-1.02_1-1-msys-1.0.11-bin.tar.lzma
- openssl-0.9.8k-1-msys-1.0.11-bin.tar.lzma
- patch-2.5.9-1-msys-1.0.11-bin.tar.lzma
- perl-5.6.1_2-1-msys-1.0.11-bin.tar.lzma
- sed-4.2.1-1-msys-1.0.11-bin.tar.lzma
- tar-1.22-1-msys-1.0.11-bin.tar.lzma
- vim-7.2-1-msys-1.0.11-bin.tar.lzma
- zlib-1.2.3-1-msys-1.0.11-dll.tar.gz
- Paquets GNOME installation dans le répertoire local de MSYS "/local" (C:\Programs\msys\1.0\local\ ou C:\MinGW\local\)
- atk_1.24.0-1_win32.zip
- atk-dev_1.24.0-1_win32.zip
- cairo_1.8.8-1_win32.zip
- cairo-dev_1.8.8-1_win32.zip
- expat_2.0.1-1_win32.zip
- expat-dev_2.0.1-1_win32.zip
- GConf_2.22.0-2_win32.zip
- GConf-dev_2.22.0-2_win32.zip
- gettext-runtime-0.17.zip
- gettext-runtime-dev-0.17.zip
- gettext-tools-0.17.zip
- glib_2.18.4-1_win32.zip
- glib-dev_2.18.4-1_win32.zip
- gnome-common-2.11.0.zip
- gtk+_2.14.7-1_win32.zip
- gtk+-dev_2.14.7-1_win32.zip
- intltool_0.40.4-1_win32.zip
- intltool-dev_0.40.4-1_win32.zip
- libgnurx-2.5.zip
- libgnurx-dev-2.5.zip
- libiconv-1.9.1.bin.woe32.zip
- libpng_1.2.38-1_win32.zip
- libpng-dev_1.2.38-1_win32.zip
- libxml2_2.7.3-1_win32.zip
- libxml2-dev_2.7.3-1_win32.zip
- ORBit2-dev_2.14.16-1_win32.zip
- ORBit2_2.14.16-1_win32.zip
- pango_1.22.4-1_win32.zip
- pango-dev_1.22.4-1_win32.zip
- pkg-config_0.23-3_win32.zip
- pkg-config-dev_0.23-3_win32.zip
- zlib-1.2.3.zip
- zlib-dev-1.2.3.zip
- Paquets externes installation dans le répertoire local de MSYS "/local" (C:\Programs\msys\1.0\local\ ou C:\MinGW\local\)
- svn-win32-1.6.5.zip
La question de Perl
Enfin vous avez besoin de Perl. La version Perl dans MSYS est la 5.6.1 qui est trop ancienne pour les scripts de configuration (configure) de nombreux logiciels dont Bluefish. J'utilise la version 5.6.1 de MSYS pour autoconf/automake/autogen.sh et une version externe comme ActiveState's pour tout ce qui nécessite une version plus récente. Installez la version ActivePerl de Perl. Puis éditez /etc/fstab dans l'environnement MSYS (usuellement ) et ajoutez la ligne suivante :
c:/programs/perl /opt/perl
ainsi Perl est monté dans l'environnement MSYS.
Configuration de votre environnement de compilation
Vous pouvez définir quelques variables d'environnement comme suit.
PATH="/bin:/local/bin:/opt/perl/bin" C_INCLUDE_PATH="/include:/local/include" LIBRARY_PATH="/lib:/local/lib"
- ou alternativement utiliser notre script config.site pour configurer MSYS et ajuster aisément PATH/CFLAGS/LDFLAGS.
De plus nous avons besoin d'ajuster le chemin de recherche macro pour aclocal :
echo /local/share/aclocal > /share/aclocal/dirlist
car un bug de l'éditeur de liens de gconftool-2 ajoute ce lien symbolique :
ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll
Compiler les paquets externes
Pour compiler Bluefish nous avons besoin de certaines bibliothèques qui ne sont pas disponibles dans le projet MinGW/MSYS.
Installer les paquets pré-compilés
Shawn Novak propose des archives pré-compilées qu'il vous suffit d'extraire dans /local:
- Paquets spécifiques installation dans le répertoire local de MSYS "/local" (C:\Programs\msys\1.0\local\ ouC:\MinGW\local\)
- pcre-7.9-bin-MinGW-20090902.tbz2
- aspell-0.60.6-bin-MinGW-20090901.tbz2
- enchant-1.5.0-bin-MinGW-20090901.tbz2
Un ensemble complet de dictionnaires pour Aspell 0.60.6 est disponible ici : http://www.muleslow.net/files/aspell/lang/
Compilation et installation depuis les sources
Si vous voulez construire votre propre version personnalisée de ces paquets, voici les paramètres de configuration utilisés. <ref>Note de Daniel Leidert: Je commence par appliquer le script msys.site avec le contenu suivant pour configure:
#!/bin/sh PATH="/opt/perl/bin:$PATH" prefix=/local exec_prefix='${prefix}' enable_shared=yes enable_static=no enable_maintainer_mode=yes LDFLAGS="-L/local/lib -L/lib" CFLAGS="-g -Wall -O2 -I/local/include -I/include -mwindows" CPPFLAGS="-g -Wall -O2 -I/local/include -I/include"
Le script de configuration (configure) est alors appelé comme suit en même temps que les commutateurs comme indiqué ci-dessus:
./configure CONFIG_SITE=msys.site ... configure options see above...
</ref>
dans le code source Aspell ajouter :
#include "asc_ctype.hpp"
dans les includes de common/file_util.cpp.
./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell
- PCRE 7.9 (UTF-8 support is a must)
./configure --prefix=/local --enable-utf8 --enable-unicode-properties
Malheureusement gucharmap ne compile pas directement. les instructions suivantes proviennent de la liste de diffusion. Appliquer en premier lieu ce patch de Daniel Leidert gucharmap26.diff et configurez ensuite avec les commandes suivantes :
patch -p0 <gucharmap26.diff intltoolize -f libtoolize -f aclocal -I m4/ --force autoheader -f automake -f autoconf -f ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper
Compiler Bluefish
Récupération de la dernière version :
svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish
Lancer autogen.sh (uses perl 5.6.1). Puis lancer configure (soyez sûr que Perl de /opt/perl/bin est utilisé ; vérifier le PATH) et make :
./autogen.sh ./configure CONFIG_SITE=config.site/config.msys make make install
Debuguer Bluefish
Pour obtenir des informations de déboguage sur la console, configurer bluefish avec l'option '--enable-debugging-output' de ./configure. De plus les CFLAGS doivent contenir '-g' (par défaut, et également explicitement déclaré par config.msys).
Pour débuguer les crashes installer le Débugueur GNU (GDB).
Création de l'installeur
Pour compiler l'installeur vous aurez besoin de Unicode NSISavec le plugin UnTGZ installé. Vous devez également avoir makensis.exe dans votre path (par exemple dans /opt/nsis).
Pour créer l'installeur, configurer et compiler Bluefish avec les commandes suivantes :
./configure CONFIG_SITE=win32/config.nsis cd win32 make -f Makefile.mingw installer
Notes et références
<references/>