Difference between revisions of "HowTo compile on Win32 with MinGW"

From AMule Project FAQ
Jump to: navigation, search
(French version of "How to compile Amule on Win32" by Bruno Perel)
m (Reverted edit of 86.213.79.251, changed back to last version by Ihmselbst)
Line 1: Line 1:
<center><h2> Créé par '''[[User:Bruno Perel|Bruno Perel]]'''</h2></center>
+
<center><h2>Originally by '''[[User:Madcat|Madcat]]'''</h2></center>
  
 
<center>
 
<center>
[[HowTo compile on Win32|English]] | [[HowTo compile on Win32-de|Deutsch]] | '''Francais'''
+
'''English''' | [[HowTo compile on Win32-de|Deutsch]]
 
</center>
 
</center>
  
Cette page ne contient d'informations qu'à propos de la dernière version d'[[aMule]] supportant  [[aMule_CVS|CVS]] , et non pas les versions 1.x.x ou 2.x.x.
+
This wiki page only covers the latest [[aMule_CVS|CVS]] version of [[aMule]], not releases in the 1.x.x or 2.x.x branches.
  
''Pour ceux qui ne veulent pas compiler [[aMule]] depuis le source, il existe également l'option de [[Win32_binary|l'installeur aMule pour Windows]].''
+
''For those of you that don't want to compile [[aMule]] from source, there is also the option of the [[Win32_binary|aMule Windows Installer]].''
  
== Liste de packages recommandés pour pouvoir compiler [[aMule]] ==
+
== Requirements for compiling [[aMule]] ==
  
Vous aurez besoin des packages suivants :  
+
You will need the following packages:
  
*Le port [http://www.microsoft.com/windows Windows] du [http://gcc.gnu.org compilateur GNU C], [http://www.mingw.org MinGW] -->[http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe?download Télécharger (4.1.1)]
+
*[http://www.microsoft.com/windows Windows] port of [http://gcc.gnu.org GNU C compiler], [http://www.mingw.org MinGW] -> [http://prdownloads.sourceforge.net/mingw/MinGW-4.1.1.exe?download Download (4.1.1)]
*Le shell minimal [http://www.gnu.org GNU] pour [http://www.microsoft.com/windows Windows], [http://www.mingw.org/msys.shtml MSys] -->[http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Télécharger (1.0.10)]
+
*Minimal [http://www.gnu.org GNU] shell for [http://www.microsoft.com/windows Windows], [http://www.mingw.org/msys.shtml MSys] -> [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Download (1.0.10)]
*Le kit de développement pour [http://www.mingw.org/msys.shtml MSys] (pour [http://www.gnu.org/software/cvs CVS] et les autres) -->[http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download Télécharger (1.0.1)]
+
*Developer toolkit for [http://www.mingw.org/msys.shtml MSys] (for [http://www.gnu.org/software/cvs CVS] & co) -> [http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download Download (1.0.1)]
*[http://www.gnu.org/software/libiconv LibIConv] (requis par [http://www.gnu.org/software/gettext gettext]) -->[http://prdownloads.sf.net/mingw/libiconv-1.8.0-2003.02.01-1.exe?download Télécharger (1.8)]
+
*[http://www.gnu.org/software/libiconv LibIConv] (required by [http://www.gnu.org/software/gettext gettext]) -> [http://prdownloads.sf.net/mingw/libiconv-1.8.0-2003.02.01-1.exe?download Download (1.8)]
*[http://www.gnu.org/software/gettext GetText],[http://www.gnu.org/software/automake/aautomake.htmlautogen.sh], etc) -->[http://prdownloads.sf.net/mingw/gettext-0.11.5-2003.02.01-1.exe?download Télécharger (0.11.5)]
+
*[http://www.gnu.org/software/gettext GetText] (for [http://www.gnu.org/software/gettext po files], [http://www.gnu.org/software/automake/automake.html autogen.sh], etc) -> [http://prdownloads.sf.net/mingw/gettext-0.11.5-2003.02.01-1.exe?download Download (0.11.5)]
*[http://www.zlib.org zlib], bibliothèque de compression -->[http://www.zlib.net/zlib-1.2.3.tar.gz Télécharger (1.2.3)]
+
*[http://www.zlib.org zlib] compression library -> [http://www.zlib.net/zlib-1.2.3.tar.gz Download (1.2.3)]
*Le port [http://www.microsoft.com/windows Windows] pour la bibliothèque des [[wxWidgets]] (connu sous le nom de [[wxWidgets|wxMSW]]) -->[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.1.zip Télécharger (2.6.1)]
+
*[http://www.microsoft.com/windows Windows] port of [[wxWidgets]] library (knows as [[wxWidgets|wxMSW]]) -> [http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.1.zip Download (2.6.1)]
*Les derniers sources d'[[aMule]], ou [[aMule CVS]] -->[http://dl.amule.org Télécharger aMule]
+
*[[aMule]]'s latest release sources or [[aMule CVS]] -> [http://dl.amule.org Download aMule]
  
De plus, entre 800 Mo et 1500 Mo d'espace libre sur votre disque dur (environ 40 Mo pour le téléchargement des packages ci-dessus et le reste pour les fichiers
+
Also, 800MB-1500MB free space on your hard disk (around 40MB to download the above packages and the rest for temporary compilation files and installations. The amount of space needed will largely depend on the configuration flags you use).
temporaires de compilation et d'installation. La quantité d'espace libre nécessaire sera en grande partie influencée par les options que vous aurez configurées).
+
  
Le temps de compilation total est d'environ 3 heures sur un ordinateur de puissance légèrement supérieure à la moyenne.
+
As a reference, the whole compilation process will take around 3 hours on a medium-high resourced computer.
  
== Installation de la configuration minimale ==
+
== Installing the Minimal System ==
  
La 1ère étape est de créer un environnement de type [http://www.kernel.org Linux], qui est requis de façon à permettre la construction des applications. Cette création pourra être réalisée dans ''' l'ordre suivant''' :  
+
The first step is to create a [http://www.kernel.org Linux]-like environment, which is required in order to be able to perform the build. This can be done by following these steps '''in this order''':
  
#Installez [http://www.mingw.org MinGW]. Ne sélectionnez pas autre chose que "Compact installation", à moins que vous ne sachiez précisément ce que vous faites. Quand on vous demandera le dossier que vous souhaitez pour l'installation, sélectionnez (''C:\mingw'') qui sera une solution sûre.
+
#Install [http://www.mingw.org MinGW]. Select ''Compact installation'' unless you know what you are doing. When it prompts you for a folder, the default (''C:\mingw'') is slightly messy but the safer selection.
#Installez [http://www.mingw.org/msys.shtml MSys]. Quand on vous demandera le dossier de [http://www.mingw.org MinGW], faites bien attention à ce que vous spécifiez. Des erreurs à cette étape provoqueront l'arrêt de toute tentative de compilation. Si pour quelque raison que ce soit vous assistez à une erreur, réinstallez [http://www.mingw.org/msys.shtml MSys] , ou bien éditez le fichier  ''/etc/fstab'' situé dans votre environnement [http://www.mingw.org/msys.shtml MSys].
+
#Install [http://www.mingw.org/msys.shtml MSys]. When it prompts you for the [http://www.mingw.org MinGW] folder, it's very important to specify it correctly. Failure on this step will stop any compilation attempts. If for some reason you fail, install [http://www.mingw.org/msys.shtml MSys] again, or edit the file ''/etc/fstab'' in your [http://www.mingw.org/msys.shtml MSys] environment.
#Installez le kit de développement [http://www.mingw.org/msys.shtml MSys].
+
#Install the [http://www.mingw.org/msys.shtml MSys] developer toolkit.
#Installez [http://www.gnu.org/software/libiconv LibIConv].
+
#Install [http://www.gnu.org/software/libiconv LibIConv].
#Installez [http://www.gnu.org/software/gettext GetText].
+
#Install [http://www.gnu.org/software/gettext GetText].
  
== Compilation des librairies ==
+
== Compiling the libraries ==
  
Deux librairies seront nécessaires pour la compilation de [[aMule]] : [http://www.zlib.org zlib] et [[wxWidgets]].
+
There are two libraries that [[aMule]] will need compiled: [http://www.zlib.org zlib] and [[wxWidgets]].
  
Nous allons les compiler depuis [http://www.mingw.org/msys.shtml MSys], lancez donc ce programme. Une fois que vous aurez exécuté [http://www.mingw.org/msys.shtml MSys], vous vous situerez dans votre répertoire courant. Copiez les fichiers [http://www.zlib.org zlib] et [[wxWidgets]] que vous avez téléchargés précédemment à l'intérieur de ce dossier (quelque chose du genre ''C:\msys\1.0\home\'''nom_d_utilisateur''''').
+
We will compile them from [http://www.mingw.org/msys.shtml MSys], so just run it. Once you are running [http://www.mingw.org/msys.shtml MSys], you'll be on your home folder. Copy the [http://www.zlib.org zlib] and [[wxWidgets]] files you downloaded above into this folder (something like ''C:\msys\1.0\home\'''user''''').
  
Les différentes étapes pour les compiler sont les suivantes :
+
The steps for compiling them is:
  
#[http://www.zlib.org zlib]: Décompressez [http://www.zlib.org zlib], accédez à votre nouveau répertoire avec des commandes "cd", et exécutez ''./configure--prefix=/mingw && make && make install''
+
#[http://www.zlib.org zlib]: Uncompress [http://www.zlib.org zlib], cd to the newly created directory and run ''./configure --prefix=/mingw && make && make install''
#[[wxWidgets]]: Décompressez [[wxWidgets]], accédez à votre nouveau répertoire avec des commandes "cd" ''./configure --enable-unicode --disable-shared--without-checklistbox && make && make install''
+
#[[wxWidgets]]: Uncompress [[wxWidgets]], cd to the newly created directory and run ''./configure --enable-unicode --disable-shared --without-checklistbox && make && make install''
  
Si vous voulez aider le s développeurs, vous pouvez ajouter ''--enable-debug'' à la commande de configuration [[wxWidgets]] , juste après ''--disable-shared'' ,  
+
If you want to help us developers, you can add ''--enable-debug'' flag to the [[wxWidgets]] configure command, right after ''--disable-shared'', but be warned it will result into an ''aMule.exe'' file bigger than 100MB.
mais sachez que cela aboutira à un fichier "aMule.exe" de plus de 100 Mo.
+
  
 
== Compilation ==
 
== Compilation ==
  
Nous avons à présent terminé la partie "environnement de la compilation". Il reste à compiler aMule.
+
Ok, we're all done with the compilation environment. Let's do the last step: compiling [[aMule]].
  
Dans un premier temps, extrayez les sources d'[[aMule]] et entrez dans le répertoire que vous aviez créé.
+
First of all, extract [[aMule]]'s sources and enter the newly created folder.
  
La compilation en elle-même se fera à l'aide la méthode habituelle, à savoir la commande ''./configure && make''. Utilisez vos arguments habituels pour''./configure'', par exemples ''--disable-debug'' qui supprimera l'info de débogage, mais qui rendra également plus difficile aux développeurs la tâche consistant à comprendre les bugs que vous pourriez rencontrer.
+
The compilation itself is actually just a matter of following the usual method: ''./configure && make''. Use your favorite flags on ''./configure'', for example, ''--disable-debug'' will remove debug info, but will also make it harder for us developers to understand the bugs you might find.
  
Si vous voulez seulement compiler le GUI, utilisez l'argument ''--disable-monolithic --disable-ed2k --enable-amule-gui''
+
You might want to compile just the remote GUI: the flags would be ''--disable-monolithic --disable-ed2k --enable-amule-gui''
  
'''Attention :''' Les programmes suivavnts ne fonctionnent pas (encore) sur  [http://www.microsoft.com/windows Windows]:
+
'''Beware:''' The following programs do not work yet on [http://www.microsoft.com/windows Windows]:
*[[aMuled|aMule Daemon]]: Ne parvient même pas à compiler.
+
*[[aMuled|aMule Daemon]]: Doesn't even compile.
*[[CAS]]: Echec lors de la recherche du fichier [[signature]].
+
*[[CAS]]: Fails to find the [[signature]] file.
  
'''Note:''' Pour consercer la taille des exécutables, vous pouvez lancer ''strip'' depuis[http://www.mingw.org/msys.shtml MSys], par exemple ''find . -name '*.exe'-print | xargs -r strip''.
+
'''Note:''' To keep the size of the binnaries down, you can run ''strip'' from within [http://www.mingw.org/msys.shtml MSys], e.g. ''find . -name '*.exe' -print | xargs -r strip''.
  
== Lancement ==
+
== Running ==
  
Pour pouvoir lancer les exécutables, vous avez besoin du fichier ''mingwm10.dll''. Vous trouverz ce fichier dans ''C:\MinGW\bin\mingwm10.dll'' (ou dans le dossier où vous avez installé [http://www.mingw.org MinGW]).
+
To run the binnaries we've created you need ''mingwm10.dll''. This file can be found in ''C:\MinGW\bin\mingwm10.dll'' (or whatever path you used to install [http://www.mingw.org MinGW]).
  
Vous avez à présent besoin de placer ce fichier à un endroit que l'application connaîtra pendant son exécution. Vous avez 3 possibilités :  
+
You now have to place this file in some place so that the binnaries find it when they are executed. Here you have three options:
  
#Le placer au même endroit que les exécutables (si ceux-ci sont dispersés dans différents dossiers, copiez le fichier dans chacun de ces dossiers. Comme c'est un fichier de petite taille, il ne vous prendra pas beaucoup de place sur le disque dur).
+
#Place it in the same folder where the binnaries are (if you have them spread in several different folders, copy this file once into each folder. Since it is a very small file, it is not much of a loss).
#Le placer dans ''C:\windows'', ou dans un dossier où  [http://www.microsoft.com/windows Windows] est susceptible de chercher des librairies (par exemple''C:\Windows\System'' ou ''C:\Windows\System32'').
+
#Place it in ''C:\windows'' or some other any other path where [http://www.microsoft.com/windows Windows] might look for libraries (such as ''C:\Windows\System'' or ''C:\Windows\System32'').
#Ajouter ''C:\MinGW\bin'' (ou dans le dossier où vous avez installé [http://www.mingw.org MinGW]) à votre variable d'environnement "PATH".
+
#Add ''C:\MinGW\bin'' (or whatever path you used to install [http://www.mingw.org MinGW]) to your ''PATH'' environment variable.
  
A présent, lancer vos exécutables et amusez-vous bien avec [[aMule]] sur [http://www.microsoft.com/windows Windows] !
+
Now... just run your binnaries and have fun with [[aMule]] on your [http://www.microsoft.com/windows Windows] box!
  
'''Note:''' Par défault, les exécutables sont compilés sur  ''C:\MSys\1.0\home\'''nom_d_utilisateur'''\amule-2.0.3\src\''.
+
'''Note:''' By default, the binnaries are compiled to ''C:\MSys\1.0\home\'''user'''\amule-2.0.3\src\''.
  
== Avoir différents langages  ==
+
== Having different languages ==
  
A présent qu'[[aMule]] s'exécute avec succès, vous allez peut-être avoir besoin d'utiliser le logiciel avec une langue autre que l'anglais.
+
Now [[aMule]] will be successfully running, but you will not be able to use any other language but default english.
  
Pour pouvoir choisir entre l'un des nombreux langages disponibles, allez depuis [http://www.mingw.org/msys.shtml MSys] vers un dossier [[aMule]] extrait,
+
TO be able to choose between any of the lot of languages [[aMule]] is shipped with, from [http://www.mingw.org/msys.shtml MSys] go to [[aMule]]'s extracted folder and then into ''po/'' folder. Something like the following should do it:
  
etensuite vers un dossier ''po/'' . Vous devriez y parvenir avec quelque chose dans ce genre :
 
 
  cd
 
  cd
 
  cd amule-2.0.3/po
 
  cd amule-2.0.3/po
  
A présent installez les langages dans aMule :  
+
Now install the languages:
  
 
  make install-data-yes
 
  make install-data-yes
  
Ces fichiers de langage se situent à présent dans ''C:\MSys\1.0\local\share\locale''. Quittez [http://www.mingw.org/msys.shtml MSys], allez dans ''C:\msys\1.0\local\share\locale'' et copiez ce dossier à l'endroit où vous conservez vos fichiers ''amule.exe'' et ''amulegui.exe''.
+
This language files are now in ''C:\MSys\1.0\local\share\locale'', so exit [http://www.mingw.org/msys.shtml MSys], go to ''C:\msys\1.0\local\share\locale'' and copy that folder to the folder were you are keeping your compiled ''amule.exe'' and ''amulegui.exe'' files.
  
== Téléchargement de la version pré-compilée pour win32 ==
+
== Downloading precompiled win32 version ==
  
  
'''Gardez en tête qu'il s'agit d'un logiciel créé avant tout par des utilisateurs. Installez-le à vos risques et périls !! '''
+
'''Keep in mind this is a user contributed build. Install it at your own risk'''
  
Vous pouvez télécharger aMuleGUI pourwin32 depuis CVS 22-09-2005 ici :
 
  
ed2k://|file|amulegui-win32-cvs22-09-2005(incl.dll+readme).zip|1990063|8553F619C878E3F0C916B7FBF82EB934|h=KFB3RUSI65EE2WMIBWQ2WHXIIUEA57VZ
+
You can download aMuleGUI for win32 from CVS 22-09-2005 here: ed2k://|file|amulegui-win32-cvs22-09-2005(incl.dll+readme).zip|1990063|8553F619C878E3F0C916B7FBF82EB934|h=KFB3RUSI65EE2WMIBWQ2WHXIIUEA57VZ|/
  
|/  
+
or direct here: [http://s6.11mbit.de/7i5blmw6cmIxc8noy48nJ3deJgL01BLz1ogPvakPv1blHJx3dnJCLr6g/cf784ogC amulegui-win32-cvs22-09-2005(incl.dll+readme).zip] ([https://s6.11mbit.de/7i5blmw6cmIxc8noy48nJ3deJgL01BLz1ogPvakPv1blHJx3dnJCLr6g/cf784ogC SSL])
  
ou bien ici par téléchargement direct :  [http://s6.11mbit.de/7i5blmw6cmIxc8noy48nJ3deJgL01BLz1ogPvakPv1blHJx3dnJCLr6g/cf784ogC
+
Comunication on an linux box with amuled and this gui works very good... maybe its a little bit slow, but, its working!
  
amulegui-win32-cvs22-09-2005(incl.dll+readme).zip] ([https://s6.11mbit.de/7i5blmw6cmIxc8noy48nJ3deJgL01BLz1ogPvakPv1blHJx3dnJCLr6g/cf784ogC SSL])
+
Feel free to contact me at: therealfox AT gmail DOT com, if you have problems.
  
Contactez le créateur de l'article original de ce mode d'emploi (en anglais à l'origine) à cette adresse : therealfox AT gmail POINT com, si vous rencontrez des problèmes.
 
  
  
  
 
+
If you prefer a stable (and more recent) build, you can grab amulegui from the stable 2.1.1 sources here:
Si vous préférez une version plus stable, vous pouvez utiliser la version stable 2.1.1 à partir des sources suivantes :  
+
 
http://conrausch.elise.no-ip.com/aMuleGUI-2.1.1-all_lang.zip
 
http://conrausch.elise.no-ip.com/aMuleGUI-2.1.1-all_lang.zip
 +
 +
Again, this is a user contributed build, which you should not trust ;). It works pretty well though. It is a little big (almost 3MB), but it contains the .dll plus all language packs that were available with the release. For problems with this one, please contact conrausch [at] gmx de

Revision as of 05:06, 9 June 2006

Originally by Madcat

English | Deutsch

This wiki page only covers the latest CVS version of aMule, not releases in the 1.x.x or 2.x.x branches.

For those of you that don't want to compile aMule from source, there is also the option of the aMule Windows Installer.

Requirements for compiling aMule

You will need the following packages:

Also, 800MB-1500MB free space on your hard disk (around 40MB to download the above packages and the rest for temporary compilation files and installations. The amount of space needed will largely depend on the configuration flags you use).

As a reference, the whole compilation process will take around 3 hours on a medium-high resourced computer.

Installing the Minimal System

The first step is to create a Linux-like environment, which is required in order to be able to perform the build. This can be done by following these steps in this order:

  1. Install MinGW. Select Compact installation unless you know what you are doing. When it prompts you for a folder, the default (C:\mingw) is slightly messy but the safer selection.
  2. Install MSys. When it prompts you for the MinGW folder, it's very important to specify it correctly. Failure on this step will stop any compilation attempts. If for some reason you fail, install MSys again, or edit the file /etc/fstab in your MSys environment.
  3. Install the MSys developer toolkit.
  4. Install LibIConv.
  5. Install GetText.

Compiling the libraries

There are two libraries that aMule will need compiled: zlib and wxWidgets.

We will compile them from MSys, so just run it. Once you are running MSys, you'll be on your home folder. Copy the zlib and wxWidgets files you downloaded above into this folder (something like C:\msys\1.0\home\user).

The steps for compiling them is:

  1. zlib: Uncompress zlib, cd to the newly created directory and run ./configure --prefix=/mingw && make && make install
  2. wxWidgets: Uncompress wxWidgets, cd to the newly created directory and run ./configure --enable-unicode --disable-shared --without-checklistbox && make && make install

If you want to help us developers, you can add --enable-debug flag to the wxWidgets configure command, right after --disable-shared, but be warned it will result into an aMule.exe file bigger than 100MB.

Compilation

Ok, we're all done with the compilation environment. Let's do the last step: compiling aMule.

First of all, extract aMule's sources and enter the newly created folder.

The compilation itself is actually just a matter of following the usual method: ./configure && make. Use your favorite flags on ./configure, for example, --disable-debug will remove debug info, but will also make it harder for us developers to understand the bugs you might find.

You might want to compile just the remote GUI: the flags would be --disable-monolithic --disable-ed2k --enable-amule-gui

Beware: The following programs do not work yet on Windows:

Note: To keep the size of the binnaries down, you can run strip from within MSys, e.g. find . -name '*.exe' -print | xargs -r strip.

Running

To run the binnaries we've created you need mingwm10.dll. This file can be found in C:\MinGW\bin\mingwm10.dll (or whatever path you used to install MinGW).

You now have to place this file in some place so that the binnaries find it when they are executed. Here you have three options:

  1. Place it in the same folder where the binnaries are (if you have them spread in several different folders, copy this file once into each folder. Since it is a very small file, it is not much of a loss).
  2. Place it in C:\windows or some other any other path where Windows might look for libraries (such as C:\Windows\System or C:\Windows\System32).
  3. Add C:\MinGW\bin (or whatever path you used to install MinGW) to your PATH environment variable.

Now... just run your binnaries and have fun with aMule on your Windows box!

Note: By default, the binnaries are compiled to C:\MSys\1.0\home\user\amule-2.0.3\src\.

Having different languages

Now aMule will be successfully running, but you will not be able to use any other language but default english.

TO be able to choose between any of the lot of languages aMule is shipped with, from MSys go to aMule's extracted folder and then into po/ folder. Something like the following should do it:

cd
cd amule-2.0.3/po

Now install the languages:

make install-data-yes

This language files are now in C:\MSys\1.0\local\share\locale, so exit MSys, go to C:\msys\1.0\local\share\locale and copy that folder to the folder were you are keeping your compiled amule.exe and amulegui.exe files.

Downloading precompiled win32 version

Keep in mind this is a user contributed build. Install it at your own risk


You can download aMuleGUI for win32 from CVS 22-09-2005 here: ed2k://|file|amulegui-win32-cvs22-09-2005(incl.dll+readme).zip|1990063|8553F619C878E3F0C916B7FBF82EB934|h=KFB3RUSI65EE2WMIBWQ2WHXIIUEA57VZ|/

or direct here: amulegui-win32-cvs22-09-2005(incl.dll+readme).zip (SSL)

Comunication on an linux box with amuled and this gui works very good... maybe its a little bit slow, but, its working!

Feel free to contact me at: therealfox AT gmail DOT com, if you have problems.



If you prefer a stable (and more recent) build, you can grab amulegui from the stable 2.1.1 sources here: http://conrausch.elise.no-ip.com/aMuleGUI-2.1.1-all_lang.zip

Again, this is a user contributed build, which you should not trust ;). It works pretty well though. It is a little big (almost 3MB), but it contains the .dll plus all language packs that were available with the release. For problems with this one, please contact conrausch [at] gmx de