Difference between revisions of "HowTo Compile In Ubuntu"

From AMule Project FAQ
Jump to: navigation, search
(Build from repository export)
Line 12: Line 12:
 
* libupnp3-dev
 
* libupnp3-dev
 
* zlib1g-dev
 
* zlib1g-dev
* autopoint (Maverick only)
+
* autopoint (only Maverick and above)
  
 
= Build CryptoPP =
 
= Build CryptoPP =
Line 23: Line 23:
 
<code>cryptest v</code>
 
<code>cryptest v</code>
  
If you still want to build it, download [http://www.cryptopp.com/cryptopp560.zip CryptoPP 5.6.0]. Unzip it to <code>/home/me/amule/cryptopp</code> . Run <code>make</code>. Then run <code>./cryptest.exe v</code> to validate it (it must print <code>All tests passed!</code>).
+
If you still want to build it, download [http://www.cryptopp.com/cryptopp561.zip CryptoPP 5.6.1]. Unzip it to <code>/home/me/amule/cryptopp</code> . Run <code>make</code>. Then run <code>./cryptest.exe v</code> to validate it (it must print <code>All tests passed!</code>).
  
 
= Build wxWidgets =
 
= Build wxWidgets =
Make directory <code>amule/wx</code>. Download [http://www.wxwidgets.org/downloads/ latest stable wxGTK] (2.8.10 writing this). Wx 2.9 is still experimental, if you feel adventurous you can try it (but only with aMule 2.3).  
+
Make directory <code>amule/wx</code>. Download [http://www.wxwidgets.org/downloads/ latest stable wxGTK] (2.8.12 writing this). Wx 2.9 is still experimental, if you feel adventurous you can try it (but only with aMule 2.3).  
  
Extract it with <code>tar xzf wxGTK-2.8.10.tar.gz</code>. Make and cd to wx/build and run
+
Extract it with <code>tar xzf wxGTK-2.8.12.tar.gz</code>. Make and cd to wx/build and run
  
<code>../wxGTK-2.8.10/configure --prefix=/home/me/amule/wx --with-gtk --enable-unicode --enable-optimise --disable-shared</code>
+
<code>../wxGTK-2.8.12/configure --prefix=/home/me/amule/wx --with-gtk --enable-unicode --enable-optimise --disable-shared</code>
  
 
then <code>make</code> and <code>make install</code> .
 
then <code>make</code> and <code>make install</code> .
  
Note: wxGTK 2.8.10 needs a patch for Ubuntu Karmic, see [http://trac.wxwidgets.org/changeset/61009 here].
+
Once Ubuntu starts shipping wx 2.8.12 you can also simply install libwxgtk2.8-dev . Older versions can cause out-of-memory crashes and should be avoided!
 
+
You can also simply install libwxgtk2.8-dev .
+
  
 
= Build aMule =
 
= Build aMule =
Line 46: Line 44:
  
 
Now just run make and that's it! You can start aMule with command "/home/me/amule/bin/amule".
 
Now just run make and that's it! You can start aMule with command "/home/me/amule/bin/amule".
 +
 +
If you get an error <code>undefined reference to symbol 'XGetWindowAttributes'</code> add <code>LIBS=-lX11</code> to ./configure .
  
 
= Build from repository export =
 
= Build from repository export =
Line 51: Line 51:
  
 
*autoconf
 
*autoconf
*cvs (not for Maverick)
+
*cvs (only versions before Maverick)

Revision as of 22:44, 1 April 2011

This page describes how to compile aMule and its required libraries CryptoPP and wxWidgets on Ubuntu 9.04. We will install everything in our home directory in this example. Make a directory where you want to build and install aMule (we will use /home/me/amule and I'll call it "amule").

Install packages

Use Synaptic Package Manager (if you use GNOME) or KPackageKit/Adept (if you use KDE) to install the following packages:

  • g++
  • binutils-dev
  • libcrypto++-dev
  • libgtk2.0-dev
  • libgd2-xpm-dev
  • libgeoip-dev
  • libupnp3-dev
  • zlib1g-dev
  • autopoint (only Maverick and above)

Build CryptoPP

You shouldn't try to build CryptoPP on Ubuntu from source. The original CryptoPP headers are broken and cause a zillion warnings later building aMule. The Ubuntu developers provide fixed headers so you should use the lib that comes with it. However you should also install the cryptest tool and verify if CryptoPP really runs on your machine:

sudo apt-get install libcrypto++-utils

cd /usr/share/crypto++

cryptest v

If you still want to build it, download CryptoPP 5.6.1. Unzip it to /home/me/amule/cryptopp . Run make. Then run ./cryptest.exe v to validate it (it must print All tests passed!).

Build wxWidgets

Make directory amule/wx. Download latest stable wxGTK (2.8.12 writing this). Wx 2.9 is still experimental, if you feel adventurous you can try it (but only with aMule 2.3).

Extract it with tar xzf wxGTK-2.8.12.tar.gz. Make and cd to wx/build and run

../wxGTK-2.8.12/configure --prefix=/home/me/amule/wx --with-gtk --enable-unicode --enable-optimise --disable-shared

then make and make install .

Once Ubuntu starts shipping wx 2.8.12 you can also simply install libwxgtk2.8-dev . Older versions can cause out-of-memory crashes and should be avoided!

Build aMule

Make dir and download and unpack aMule's source (Release or current SVN), then

./configure --prefix=/home/me/amule/bin --enable-debug --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-gui --enable-amule-daemon --enable-amulecmd --enable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap --with-wx-config=/home/me/amule/wx/bin/wx-config --with-crypto-prefix=/home/me/amule/cryptopp

Leave out the --with-crypto-prefix when using the Ubuntu CryptoPP. Also leave out the --enable-upnp if you don't need UPnP (that is if you are able to set up port forwarding in your router).

Now just run make and that's it! You can start aMule with command "/home/me/amule/bin/amule".

If you get an error undefined reference to symbol 'XGetWindowAttributes' add LIBS=-lX11 to ./configure .

Build from repository export

If your aMule source doesn't come with a configure script you have a direct export from the development repository. To set up configure you need to run ./autogen.sh first. You need additional packages:

  • autoconf
  • cvs (only versions before Maverick)