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

From AMule Project FAQ
Jump to: navigation, search
m (Adjusted Links)
m (Adjusted Links)
Line 6: Line 6:
  
 
== Are you sure you want to compile? ==
 
== Are you sure you want to compile? ==
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.
+
If not, (which is pretty common) decide if you want the [[AMule Project FAQ:About|aMule]] stable release or the [[aMule CVS]] release.
  
=== [[aMule]] stable release ===
+
=== [[AMule Project FAQ:About|aMule]] stable release ===
 
'''These packages are for Debian 3.1 Sarge only!'''
 
'''These packages are for Debian 3.1 Sarge only!'''
  
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 Project FAQ:About|aMule]] version through [http://packages.debian.org deb]s adding the following lines into your ''/etc/apt/sources.list'' file:
  
 
  deb http://amule-debian.dyndns.org/ debian/
 
  deb http://amule-debian.dyndns.org/ debian/
Line 26: Line 26:
  
 
'''NOTES:'''  
 
'''NOTES:'''  
* If [[aMule]] exits with error message complaining about being unable to open libbfd-2.15.so this usually means you are NOT running Debian Sarge. Don't start making symlinks or doing other workarounds, they can quite easily bork your whole system.
+
* If [[AMule Project FAQ:About|aMule]] exits with error message complaining about being unable to open libbfd-2.15.so this usually means you are NOT running Debian Sarge. Don't start making symlinks or doing other workarounds, they can quite easily bork your whole system.
  
 
* http://dude.gemil.de is deprecated. http://amule-debian.dyndns.org is (for now) just a redirect, but this might change in the future (if the repository has to move due to traffic limitations).
 
* http://dude.gemil.de is deprecated. http://amule-debian.dyndns.org is (for now) just a redirect, but this might change in the future (if the repository has to move due to traffic limitations).
Line 56: Line 56:
 
Now run ''apt-get update && apt-get install amule''
 
Now run ''apt-get update && apt-get install amule''
  
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 Project FAQ:About|aMule]] utilities:
  
 
'''[[aMule CVS]]'''
 
'''[[aMule CVS]]'''
Line 121: Line 121:
 
* amule-xas
 
* amule-xas
  
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 Project FAQ:About|aMule]]'s [[AMuleWeb|Web interface]] rocks and you want to have it too, enter this line after the one above:
  
 
For [[aMule CVS]]: ''apt-get install amuleweb''
 
For [[aMule CVS]]: ''apt-get install amuleweb''
  
For [[aMule]] stable: ''apt-get install amule-console-utils''
+
For [[AMule Project FAQ:About|aMule]] stable: ''apt-get 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 Project FAQ:About|aMule]] instead of just installing a binary, keep reading...
  
 
==Info: What aMule release needs what wxwidgets release?==
 
==Info: What aMule release needs what wxwidgets release?==
Line 209: Line 209:
  
 
== 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-CVS and Releases of aMule 2.2.0 or later are able to build debain-packages directly.
  
Line 243: Line 242:
  
 
== You're done... ==
 
== You're done... ==
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.
+
That's it! Your own compiled [[AMule Project FAQ:About|aMule]] is installed on your system and ready to go.
  
To run [[aMule]], just type <code>"amule"</code>. You can check if everything worked by typing <code>"amule -v"</code> and check if the displayed version corresponds with the one you were compiling/installing.
+
To run [[AMule Project FAQ:About|aMule]], just type <code>"amule"</code>. You can check if everything worked by typing <code>"amule -v"</code> 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 ([http://www.amule.org/amule 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.
 
If this HowTo didn't help, you have a rare problem on your system ;-) Take a look at http://www.amule.org ([http://www.amule.org/amule 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 ==
 
== 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.
+
If you are in one of those rare cases when you wish to compile [[AMule Project FAQ:About|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.
  
 
== Version ==
 
== Version ==
 
Created by Jacobo221 on 01.05.04 at 11:35<br>
 
Created by Jacobo221 on 01.05.04 at 11:35<br>
Updated by Vollstrecker on 22.01.08 at 09:33
+
Updated by Vollstrecker on 22.01.08 at 10:25

Revision as of 11:25, 22 January 2008

English | Deutsch | Español

NOTE: This howto will also work for distributions derived from Debian, such as Ubuntu Linux.

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 CVS release.

aMule stable release

These packages are for Debian 3.1 Sarge only!

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

deb http://amule-debian.dyndns.org/ debian/

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

Packages in this repository:

  • amule
  • amule-daemon
  • amule-remote-gui
  • amule-gui-utils (alc, wxcas)
  • amule-console-utils (amuleweb, alcc, cas)
  • amule-utils (metapackage for amule-gui-utils and amule-console-utils)

NOTES:

  • If aMule exits with error message complaining about being unable to open libbfd-2.15.so this usually means you are NOT running Debian Sarge. Don't start making symlinks or doing other workarounds, they can quite easily bork your whole system.

aMule CVS release

You can also get the latest aMule CVS 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
For Debian Stable (aka Etch)

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.

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 apt-get update && apt-get install amule

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

aMule CVS

  • 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-chicane
  • amule-theme-default
  • amule-theme-php-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 CVS: apt-get install amuleweb

For aMule stable: apt-get install amule-console-utils

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

Info: What aMule release needs what wxwidgets release?

  • Debian Etch includes aMule 2.1.3 and wxwidgets 2.6.3
  • aMule 2.1 needs wxwidgets 2.6. You cannot compile it with newer versions of wxwidgets.
  • aMule 2.2 needs wxwidgets 2.8. You cannot compile it with older versions of wxwidgets.

What developement packages do I need for compiling?

For compiling aMule-CVS and aMule 2.2.0 you need the following packages installed:

  • libglib2.0-dev
  • libgtk2.0-dev
  • zlib1g-dev
  • libwxgtk2.8-dev (if you compile wx by hand, this isn't needed. This package is atm only available for debian from Vollstreckers repository)
  • libgd2-xpm-dev
  • bison
  • flex
  • libreadline5-dev
  • libgeoip-dev
  • libupnp-dev

If you want to use the external crypto-library you need in addition:

  • libcrypto++-dev

Preparing: Compiling and installing wxwidgets

This algorithm works for all Debian flavours.

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-dev (>= 2.4.3)
  • python-dbg
  • zlib1g-dev
  • libjpeg62-dev
  • libpng12-dev
  • libtiff4-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
  • python-central
  • 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-CVS and Releases of aMule 2.2.0 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.

Version

Created by Jacobo221 on 01.05.04 at 11:35
Updated by Vollstrecker on 22.01.08 at 10:25