Difference between revisions of "HowTo Compile In Debian/Ubuntu"

From AMule Project FAQ
Jump to: navigation, search
(Updated)
(What developement packages do I need for compiling?)
 
(22 intermediate revisions by 4 users not shown)
Line 6: Line 6:
 
</center>
 
</center>
  
 +
See also general [[Compilation Installation]]
  
'''NOTE:''' This Manual also works for [http://www.ubuntulinux.com Ubuntu Linux].
+
= Are you sure you want to compile? =
 +
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule SVN]] release.
  
See also general [[Compilation Installation]]
+
= Debian =
 +
== Official way ==
 +
=== Install packages ===
 +
The latest stable versions of aMule are in the official [http://en.wikipedia.org/wiki/Software_repository Debian repositories].
 +
 
 +
You can use [http://en.wikipedia.org/wiki/Synaptic_Package_Manager Synaptic Package Manager] (if you use [http://en.wikipedia.org/wiki/GNOME GNOME]) or [http://en.wikipedia.org/wiki/Adept_Manager Adept] (if you use [http://en.wikipedia.org/wiki/KDE KDE]). Then you must search and install '''amule''' package.
 +
 
 +
If you prefer to use the terminal, enter this command:
 +
 
 +
sudo aptitude install amule
 +
 
 +
If you prefer to download the aMule can do it manually from [http://packages.debian.org/search?keywords=amule&searchon=names&suite=all&section=all this website]
  
== Are you sure you want to compile? ==
+
== Unofficial way ==
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.
+
[http://www.amule.org/amule/index.php?action=profile;u=2524 Vollstrecker] maintains an unofficial repository for Stable and Testing branchs of Debian GNU/Linux.  
  
== Debian ==
+
Packages, of that repository, are GPG signed, so follow this step as root:
 +
'''apt-key adv --recv-keys --keyserver wwwkeys.eu.pgp.net D63913EF50D0AE60'''
  
 
=== [[aMule]] stable release ===
 
=== [[aMule]] stable release ===
You can just install latest stable [[aMule]] version through [http://packages.debian.org deb]s adding the following lines into your ''/etc/apt/sources.list'' file:
+
You can just install latest stable [[aMule]] version adding the following lines into your ''/etc/apt/sources.list'' file:
  
 
  deb http://www.vollstreckernet.de/debian/ testing amule-stable wx
 
  deb http://www.vollstreckernet.de/debian/ testing amule-stable wx
Line 31: Line 45:
 
For the packages in the repo and how to get the key, look into the next section.
 
For the packages in the repo and how to get the key, look into the next section.
  
=== [[aMule CVS]] release ===
+
=== [[aMule SVN]] release ===
You can also get the latest [[aMule CVS]] through debs adding the following line into your ''/etc/apt/sources.list'' file:
+
You can also get the latest [[aMule SVN]] through debs adding the following line into your ''/etc/apt/sources.list'' file:
  
For Debian Testing (aka Lenny). In most cases this works for sid/unstable, too
 
 
 
  deb http://www.vollstreckernet.de/debian/ testing amule
 
  deb http://www.vollstreckernet.de/debian/ testing amule
  
For Debian Stable (aka Etch)
+
or
 
   
 
   
 
  deb http://www.vollstreckernet.de/debian/ stable amule
 
  deb http://www.vollstreckernet.de/debian/ stable amule
  
If you need a recent Version of wx (2.8 atm), just append '''" wx"''' to the lines above.
+
If you need a recent Version of wx (2.8 atm), just append '''" wx"''' to the lines above. Be careful, between amule and wx is a space needed.
Be careful, between amule and wx is a space needed.
+
 
If you only want wx binaries installed, replace amule with wx.
 
If you only want wx binaries installed, replace amule with wx.
 
packages are GPG signed, so follow this steps:
 
''gpg --keyserver wwwkeys.eu.pgp.net --recv 50D0AE60''
 
''gpg -a --export 50D0AE60 > /tmp/key''
 
''apt-key add /tmp/key'' (requires superuser privileges)
 
 
Another, shorter, method utilizing '''"sudo"''' is as follows:
 
''gpg --keyserver wwwkeys.eu.pgp.net --recv 50D0AE60''
 
''gpg -a --export 50D0AE60 | sudo apt-key add -''
 
  
 
Now run ''aptitude update && aptitude install amule''
 
Now run ''aptitude update && aptitude install amule''
Line 59: Line 61:
 
You might also want to take a look at the other available [[aMule]] utilities:
 
You might also want to take a look at the other available [[aMule]] utilities:
  
'''[[aMule CVS]]'''
+
'''[[aMule SVN]]'''
  
 
* amule
 
* amule
Line 122: Line 124:
 
For example, if you think [[aMule]]'s [[AMuleWeb|Web interface]] rocks and you want to have it too, enter this line after the one above:
 
For example, if you think [[aMule]]'s [[AMuleWeb|Web interface]] rocks and you want to have it too, enter this line after the one above:
  
For [[aMule CVS]]: ''aptitude install amuleweb''
+
For [[aMule SVN]] and [[aMule]] stable: ''aptitude install amuleweb''
 
+
For [[aMule]] stable: ''aptitude install amule-console-utils''
+
  
 
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...
 
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...
  
== Ubuntu ==
+
= Ubuntu =
 
+
== Official way ==
=== Official ===
+
=== Install packages ===
 
+
 
The latest stable versions of aMule are in the official [http://en.wikipedia.org/wiki/Software_repository Ubuntu repositories].
 
The latest stable versions of aMule are in the official [http://en.wikipedia.org/wiki/Software_repository Ubuntu repositories].
  
You can use [http://en.wikipedia.org/wiki/Synaptic_Package_Manager Synaptic Package Manager] (if you use [http://en.wikipedia.org/wiki/GNOME Gnome]) or [http://en.wikipedia.org/wiki/Adept_Manager Adept] (if you use [http://en.wikipedia.org/wiki/KDE KDE]). Then you must search and install '''amule''' package.
+
You can use [http://en.wikipedia.org/wiki/Synaptic_Package_Manager Synaptic Package Manager] (if you use [http://en.wikipedia.org/wiki/GNOME GNOME]) or [http://en.wikipedia.org/wiki/KPackageKit KPackageKit]/[http://en.wikipedia.org/wiki/Adept_Manager Adept] (if you use [http://en.wikipedia.org/wiki/KDE KDE]). Then you must search and install '''amule''' package.
  
 
If you prefer to use the terminal, enter this command:
 
If you prefer to use the terminal, enter this command:
Line 142: Line 141:
 
If you prefer to download the aMule can do it manually from [http://packages.ubuntu.com/search?keywords=amule&searchon=names&suite=all&section=all this website]
 
If you prefer to download the aMule can do it manually from [http://packages.ubuntu.com/search?keywords=amule&searchon=names&suite=all&section=all this website]
  
==Info: What aMule release needs what wxwidgets release?==
+
= Compile and install aMule =
* Debian Etch includes aMule 2.1.3 and wxwidgets 2.6.3
+
== Info: What aMule release needs what wxwidgets release? ==
 +
* Debian Lenny includes aMule 2.2.1 and wxwidgets 2.8.7
  
 
* aMule 2.1.x needs wxwidgets 2.6. You cannot compile it with newer versions of wxwidgets.
 
* aMule 2.1.x needs wxwidgets 2.6. You cannot compile it with newer versions of wxwidgets.
 
* aMule 2.2.x needs wxwidgets 2.8. You cannot compile it with older versions of wxwidgets.
 
* aMule 2.2.x needs wxwidgets 2.8. You cannot compile it with older versions of wxwidgets.
  
==What developement packages do I need for compiling?==
+
== What developement packages do I need for compiling? ==
 
For compiling [[aMule SVN]] you need the following packages installed:
 
For compiling [[aMule SVN]] you need the following packages installed:
  
Line 161: Line 161:
 
* wx2.8-i18n
 
* wx2.8-i18n
 
* zlib1g-dev
 
* zlib1g-dev
 +
* binutils-dev
 +
* gettext
  
==Preparing: Compiling and installing wxwidgets==
+
'''Warning''': ''64 bit users need to install a libxcb >= 1.1.92 if they want long uptimes.''
 +
 
 +
== Preparing: Compiling and installing wxwidgets ==
 
This algorithm works for all Debian flavours.
 
This algorithm works for all Debian flavours.
 +
 +
''Note: Recent versions of Ubuntu (Jaunty) have an (almost unpatched) libwxgtk good enough for use with aMule. Note that aMule developers require you compile your own wxWidgets.''
  
 
To compile aMule, You need to have a current version of [[wxWidgets]] installed. To achieve that:
 
To compile aMule, You need to have a current version of [[wxWidgets]] installed. To achieve that:
Line 201: Line 207:
 
<nowiki>#</nowiki> = command executed with root account
 
<nowiki>#</nowiki> = command executed with root account
  
==Compiling and installing aMule==
+
== Compiling and installing aMule ==
 
Now that You have installed current wxGTK, go on to compile aMule:
 
Now that You have installed current wxGTK, go on to compile aMule:
 
# Install the needed packages mentioned in '''"What developement packages do I need for compiling?"'''
 
# Install the needed packages mentioned in '''"What developement packages do I need for compiling?"'''
Line 218: Line 224:
  
 
== Building your own debian packages ==
 
== Building your own debian packages ==
First you have to get a source tarball. Note, that only aMule-CVS and Releases of aMule 2.2.0 or later are able to build debain-packages directly.
+
First you have to get a source tarball. Note, that only [[aMule SVN]] and Releases of aMule 2.2.1 or later are able to build debain-packages directly.
  
 
First install all needed tools:
 
First install all needed tools:

Latest revision as of 01:33, 9 January 2010

English | Deutsch | Español | Français

See also general Compilation Installation

Are you sure you want to compile?

If not, (which is pretty common) decide if you want the aMule stable release or the aMule SVN release.

Debian

Official way

Install packages

The latest stable versions of aMule are in the official Debian repositories.

You can use Synaptic Package Manager (if you use GNOME) or Adept (if you use KDE). Then you must search and install amule package.

If you prefer to use the terminal, enter this command:

sudo aptitude install amule

If you prefer to download the aMule can do it manually from this website

Unofficial way

Vollstrecker maintains an unofficial repository for Stable and Testing branchs of Debian GNU/Linux.

Packages, of that repository, are GPG signed, so follow this step as root:

apt-key adv --recv-keys --keyserver wwwkeys.eu.pgp.net D63913EF50D0AE60

aMule stable release

You can just install latest stable aMule version adding the following lines into your /etc/apt/sources.list file:

deb http://www.vollstreckernet.de/debian/ testing amule-stable wx

or

deb http://www.vollstreckernet.de/debian/ stable amule-stable wx

If you have wx from somewhere else, you can ommit it in theses lines, but don't cry if it won't work.

Now run apt-get update && apt-get install amule

For the packages in the repo and how to get the key, look into the next section.

aMule SVN release

You can also get the latest aMule SVN through debs adding the following line into your /etc/apt/sources.list file:

deb http://www.vollstreckernet.de/debian/ testing amule

or

deb http://www.vollstreckernet.de/debian/ stable amule

If you need a recent Version of wx (2.8 atm), just append " wx" to the lines above. Be careful, between amule and wx is a space needed. If you only want wx binaries installed, replace amule with wx.

Now run aptitude update && aptitude install amule

You might also want to take a look at the other available aMule utilities:

aMule SVN

  • amule
  • amule-alc
  • amule-alcc
  • amule-alcc-dbg
  • amule-alc-dbg
  • amule-cas
  • amule-cas-dbg
  • amule-cmd
  • amule-cmd-dbg
  • amule-common
  • amule-daemon
  • amule-daemon-dbg
  • amule-dbg
  • amule-ed2k
  • amule-ed2k-dbg
  • amule-i18n-ar
  • amule-i18n-bg
  • amule-i18n-ca
  • amule-i18n-da
  • amule-i18n-de
  • amule-i18n-en-gb
  • amule-i18n-en-us
  • amule-i18n-es
  • amule-i18n-es-mx
  • amule-i18n-et-ee
  • amule-i18n-eu
  • amule-i18n-fi
  • amule-i18n-fr
  • amule-i18n-gl
  • amule-i18n-hr
  • amule-i18n-hu
  • amule-i18n-it
  • amule-i18n-it-ch
  • amule-i18n-ko-kr
  • amule-i18n-nl
  • amule-i18n-pl
  • amule-i18n-pt-br
  • amule-i18n-pt-pt
  • amule-i18n-ru
  • amule-i18n-sl
  • amule-i18n-sv
  • amule-i18n-tr
  • amule-i18n-zh-cn
  • amule-i18n-zh-tw
  • amule-remote-gui
  • amule-remote-gui-dbg
  • amule-skin-gnome
  • amule-skin-kde4
  • amule-skin-tango
  • amule-skin-xfce
  • amule-theme-default
  • amule-utils
  • amule-utils-gui
  • amuleweb
  • amuleweb-dbg
  • amule-wxcas
  • amule-wxcas-dbg
  • amule-xas

For example, if you think aMule's Web interface rocks and you want to have it too, enter this line after the one above:

For aMule SVN and aMule stable: aptitude install amuleweb

If you still want to compile aMule instead of just installing a binary, keep reading...

Ubuntu

Official way

Install packages

The latest stable versions of aMule are in the official Ubuntu repositories.

You can use Synaptic Package Manager (if you use GNOME) or KPackageKit/Adept (if you use KDE). Then you must search and install amule package.

If you prefer to use the terminal, enter this command:

sudo aptitude install amule

If you prefer to download the aMule can do it manually from this website

Compile and install aMule

Info: What aMule release needs what wxwidgets release?

  • Debian Lenny includes aMule 2.2.1 and wxwidgets 2.8.7
  • aMule 2.1.x needs wxwidgets 2.6. You cannot compile it with newer versions of wxwidgets.
  • aMule 2.2.x needs wxwidgets 2.8. You cannot compile it with older versions of wxwidgets.

What developement packages do I need for compiling?

For compiling aMule SVN you need the following packages installed:

  • libcrypto++-dev
  • libgd2-xpm-dev
  • libgeoip-dev
  • libglib2.0-dev
  • libpng12-dev
  • libreadline5-dev
  • libupnp3-dev
  • libwxgtk2.8-dev
  • wx2.8-i18n
  • zlib1g-dev
  • binutils-dev
  • gettext

Warning: 64 bit users need to install a libxcb >= 1.1.92 if they want long uptimes.

Preparing: Compiling and installing wxwidgets

This algorithm works for all Debian flavours.

Note: Recent versions of Ubuntu (Jaunty) have an (almost unpatched) libwxgtk good enough for use with aMule. Note that aMule developers require you compile your own wxWidgets.

To compile aMule, You need to have a current version of wxWidgets installed. To achieve that: Uninstall every possibly previously installed wxwidgets stuff (see How to uninstall wxWidgets and Check if wx is installed twice) You need the following packages installed:

  • flex
  • bison
  • gettext
  • libgtk2.0-dev
  • python-all-dev (>= 2.4.3)
  • python-all-dbg
  • zlib1g-dev
  • libjpeg62-dev
  • libpng12-dev
  • libtiff4-dev
  • libsm-dev
  • libgl1-mesa-dev or libgl-dev
  • libglu1-mesa-dev or libglu-dev
  • libesd0-dev
  • libgnomeprintui2.2-dev
  • libgconf2-dev
  • libgstreamer0.10-dev
  • libgstreamer-plugins-base0.10-dev
  • bc
  1. Download current wxwidgets wxGTK stable release source code tar ball from http://www.wxwidgets.org/downloads/
  2. $ tar xvzf wxgtk-version.tar.gz
  3. $ cd wxGTK-version
  4. $ ./configure --prefix=/usr --with-gtk --enable-unicode --disable-compat24 --enable-optimise
  5. $ make
  6. # make install
  7. # ldconfig

$ = command executed with normal user account
# = command executed with root account

Compiling and installing aMule

Now that You have installed current wxGTK, go on to compile aMule:

  1. Install the needed packages mentioned in "What developement packages do I need for compiling?"
  2. Download aMule source code tar ball from http://www.amule.org (note: For compiling aMule 2.1.3 you'll need a patch aviable HERE
  3. $ tar xvjf aMule-version.tar.bz2
  4. $ cd aMule-version
  5. To have a look what features of aMule You can enable or disable: $ ./configure --help
  6. You should be right with $ ./configure --disable-debug --enable-optimize
  7. $ make
  8. # make install

$ = command executed with normal user account
# = command executed with root account

That's it! Now You can start aMule with command "amule".

Building your own debian packages

First you have to get a source tarball. Note, that only aMule SVN and Releases of aMule 2.2.1 or later are able to build debain-packages directly.

First install all needed tools:

  • build-essential
  • debhelper
  • libglib2.0-dev
  • libgtk2.0-dev
  • zlib1g-dev
  • libwxgtk2.8-dev
  • libgd2-xpm-dev
  • bison
  • flex
  • libcrypto++-dev
  • libreadline5-dev
  • libgeoip-dev
  • libupnp-dev
  • devscripts

All commands after here are entered in the top-dir of the extracted aMule-source-tarball (usually .../amule-cvs or .../aMule-<version>)

Create a new changelog Entry with (the version in the changelog indicates the version your packages will get):

dch -v `date +%Y%m%d` New Upstream CVS Release

Now start the packages creation with:

dpkg-buildpackage -uc -b -rfakeroot

Now you have all created debian-packages in the parent dir of you source-dir and can install them with:

dpkg -i <package>

or build your own repository.

If you want to build just a few packages instead of all, you can obtain information about how this works with:

debian/rules help

You're done...

That's it! Your own compiled aMule is installed on your system and ready to go.

To run aMule, just type "amule". You can check if everything worked by typing "amule -v" and check if the displayed version corresponds with the one you were compiling/installing.

If this HowTo didn't help, you have a rare problem on your system ;-) Take a look at http://www.amule.org (aMule Forums at http://forum.amule.org ) or visit us in #amule on irc.freenode.net and (don't doubt) we'll try to do our best to help you.

Final notes

If you are in one of those rare cases when you wish to compile aMule statically, install also libtiff4-dev (through apt-get install libtiff4-dev). Anyway, this is NOT recommended and, in fact, will probably not do any better or even, not work at all.