Install-amule-freebsd

From AMule Project FAQ
Revision as of 15:08, 7 January 2008 by Xaignar (Talk | contribs)

Jump to: navigation, search

The Information on this page is very Old. Someone should update it

Installing official aMule ports

Version 2.1.3

The amule port can be found at:

/usr/ports/net-p2p/amule2

I prefer the installation of applications on freebsd through the ports collection. Assumeing you're useing freebsd 6.2, as root:

  1. cd /usr/ports/net-p2p/amule2
  2. make install clean

In the next menu select deamon if you've plans to remote control aMule, or leave the options as they are, press OK and wait for compilation. The time needed depends on the depended applications that has te be installed. The program directory can be found: (~./aMule/). Means as root:

/root/.aMule/

any other user:

/usr/home/<username>/.aMule/

amule.conf can be found directly in the program folder. The webserver config file has to be made:

  1. amuleweb -w.

and is called remote.conf


The stable aMule is version 2.1.3.

We wanna stay current? Help test? Help debug? Continue with this article to learn how to install/compile aMule on your system.

Install aMule CVS on FreeBSD 6.2

Check that your /usr/port is up-to-date, for example using portsnap: portsnap fetch update

Upgrade the FreeBSD flex release (2.5.4) with the new one (2.5.33):

cd /usr/ports/textproc/flex make install clean

This installation didn't override the old /usr/bin/, but put a new release on /usr/local/bin/.

Then we need to rename the old flex release:

mv /usr/bin/flex /usr/bin/flex.old

And check your version with this command:

flex --version

You should obtain: 2.5.33

Install wxgtk28:

cd /usr/ports/x11-toolkits/wxgtk28-unicode/

make install clean

Download the latest aMule CVS snapshot here.

(This article is tested with http://www.hirnriss.net/files/cvs/aMule-CVS-20071002.tar.bz2)

tar -zxvf aMule-CVS-20071002.tar.bz2

cd amule-cvs/

./configure --prefix=/home/user/amule-cvs/ --with-wx-config=/usr/local/bin/wxgtk2u-2.8-config --disable-debug --with-curl-config=/usr/local/bin/curl-config --enable-webserver --enable-optimize --with-included-gettext --enable-amule-daemon --enable-amulecmd --enable-cas

NOTE: Check configure. Also, change user for your user name.

gmake

gmake install

Install aMule CVS on FreeBSD 5.3

Make sure you have installed:

/usr/ports/x11-toolkits/wxgtk2

  • Ignore the "problems" about wxGTK2 on FreeBSD. It works perfectly!

Download the latest aMule CVS snapshot here.

(This article is tested with http://amule.hirnriss.net/cvs/aMule-cvs-20041215.tar.bz2)

tar -zxvf aMule-cvs-20041215.tar.bz2

cd amule-cvs/

./configure --prefix=/home/user/amule-cvs/ --with-wx-config=/usr/X11R6/bin/wx-config --with-wxbase-config=/usr/X11R6/bin/wx-config --disable-debug --with-curl-config=/usr/local/bin/curl-config --enable-optimize --x-libraries=/usr/X11R6/lib --x-includes=/usr/X11R6/include --localstatedir=/usr/X11R6/share/gnome --datadir=/usr/X11R6/share/gnome --with-html-dir=/usr/X11R6/share/doc --with-crypto-prefix=/usr/local --with-included-gettext --disable-cas

NOTE: Check configure. Also, change user for your user name.

gmake

cd ~/amule-cvs/src/amule

If you would like to compile/install aMule 2.0.0-rc7, you can follow the same instructions.

Greetz, Martin

amule@air-maxx.net

Manual compilation

Follow this guide to compile aMule on your FreeBSD system.

Requirements

Install this ports if you don't already have them installed (see pkg_info), since they are needed to compile aMule:

x11-toolkits/wxgtk security/cryptopp

Also (but you will have these already ;-)) devel/gettext and devel/gmake

You know how to install ports as a BSD user, so I don't have to tell you, I hope. It's just too easy you know. In case you're very new to FreeBSD, consult the great handbook at http://www.freebsd.org.

NOTE: If you think you have wxGTK installed because you see wxGTK2, you should know, wxGTK is linked against GTK1 and wxGTK2 is linked against GTK2. Using wxGTK2 with aMule might become aMule unstable! You should use wxGTK, not wxGTK2.

Configure

(Tested with FreeBSD 5.2-CURRENT 03-May-2004)

The ./configure does not work 100% automagically, we must help it out a bit (check configure).

Edit the <your home> tag, of course, or install it elsewhere.

./configure --prefix=/home/<your home>/amule --with-wx-config=/usr/X11R6/bin/wxgtk-2.4-config --with-wxbase-config=/usr/X11R6/bin/wxgtk-2.4-config

NOTE: This is one single line, not 3 lines or whatever wiki/HTML/your browser wraps this line into.

You will see configure doesn't find gdlib-config, even if you installed gdlib. Don't care, it's just not there and it's no "must have". Just skip it.

NOTE: If you get the following warning:

WARNING!! Your wxWidgets copy has been linked against GTK2 and this will make aMule be unstable, use so much cpu and ram. You have been advised, don't report bugs so.

at the end of configure you are probably linking against wxGTK2 instead of wxGTK. aMule will memleak and eat your CPU. It will probably crash as well. Use wxGTK as mentioned above!

Make

make will fail, use gmake

make is BSD make, gmake is GNU make. They are not compatible.

Now do:

gmake

Get yourself a hot green tea (I prefer some sort of sencha) while it is compiling.

Then do:

gmake install

Use it

Just start it with /home/<your home>/amule/bin/amule or wherever you installed it to...

Have phun

Eugene

The aMule 2.0.0 port

Hi :)

I've just released the 2.0.0 port !!! As ususal, available here : http://contribs.martymac.com and soon on http://dl.amule.org !!!!

A few modifications : it is now linked against wxGTK2-unicode-devel ; it will be linked back against wxGTK2-unicode (stable) when 2.6 is out. The small ed2k_command binary is also now named ed2k, it is no more renamed to amule-ed2k. Finally, the port will only build on 5.x, no more on 4.x, sorry... For 4.x compatibility, see this old good port net/amule (which should be soon renamed to net/amule1) in the official source tree.

The port builds fine on amd64, and should on x86 :P

Enjoy!

Ganael LAPLANCHE

http://contribs.martymac.com

ganael.laplanche@martymac.com

The aMule 2.0.0-rc7 port

Hi all, the rc7 port is now available on my website: http://contribs.martymac.com

I've also added binaries for those who don't want to spend time to compile. The port works on FreeBSD 4.10 and 5.2.1. Any feedback welcome. I've changed some options to the Makefile: amule-ed2k-handler is now amule-ed2k, and cmd+GUI options are now joined in global ones. Do a "make config" prior to the "make install" to update your config file.

Enjoy :)

Ganael LAPLANCHE

http://contribs.martymac.com

ganael.laplanche@martymac.com

The aMule 2.0.0-rc6 port

Visit http://www.amule-project.net/amule/thread.php?threadid=3758 and do as it says ;-)

The aMule 2.0.0-rc4a ports

Hi all, new update to this wiki: 2.0.0rc4a ports are available. No, you ain't dreaming, you've just seen an 's' appended, because there are two ports.

Unfortunately, FreeBSD 4.x (and GCC 2.95) doesn't provide some required libs (see the patches inside the archive) to build this brand-new aMule version, so I released two ports :

  • One for the 4.x branch, which won't compile under 5.x:

Includes many patches, sometimes tricky, to make it work. This could lead to unstability and require further testing. Any feedback is welcome :)

  • Another one for the 5.x branch, wich won't compile under 4.x:

This one doesn't include any patch.

To download the ports: http://www.amule.org/amule/download.php or http://contribs.martymac.com

Enjoy!

Ganael LAPLANCHE

http://contribs.martymac.com

ganael.laplanche@martymac.com

The aMule 2.0.0-rc3 port

I've just released the 2.0.0rc3 port.

See http://www.amule.org/amule/download.php (and http://contribs.martymac.com ) to download it.

Installing non-official ports

If you download a port which is not officially available, you'll have to uncompress it (tar xvzf file.tgz) into the /usr/ports/net directory and then do a standard make install.

Any feedback welcome, many thanks to Eugene for this great wiki :)

Ganael Laplanche.

Compilation problems

If you still can't compile aMule see if the following patches work.

Patch 1

The problem would be:

[...]	 
/usr/bin/ld: cannot find -lcryptopp	 
gmake[2]: *** [cas] Error 1	 
gmake[2]: Leaving directory `/home/eugene/aMule-2.0.0rc3/src'	 
gmake[1]: *** [all-recursive] Error 1	 
gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3'	 
gmake: *** [all] Error 2

So we patch it now:

edit src/Makefile

Search for the line containing

cryptopp

This line will read as:

LIBS = -lcryptopp

Add -L/usr/local/lib to that line

Now the line will read as:

LIBS = -L/usr/local/lib -lcryptopp

Patch 2

The problem would be:

[...]	 
amule.cpp:39:30: execinfo.h: No such file or directory	 
amule.cpp:40:28: mntent.h: No such file or directory	 
In file included from /usr/local/include/cryptopp/pkcspad.h:4,	 
from /usr/local/include/cryptopp/rsa.h:9,	 
from ClientCredits.h:32,	 
from amule.cpp:86:	 
/usr/local/include/cryptopp/cryptlib.h:1358:9: warning: "/*" within comment	 
amule.cpp: In member function `virtual bool CamuleApp: nInit()':	 
amule.cpp:423: error: `setmntent' undeclared (first use this function)	 
amule.cpp:423: error: (Each undeclared identifier is reported only once for	 
each function it appears in.)	 
amule.cpp:429: error: `getmntent' undeclared (first use this function)	 
amule.cpp:431: error: invalid use of undefined type `struct mntent'	 
amule.cpp:427: error: forward declaration of `struct mntent'	 
amule.cpp:432: error: invalid use of undefined type `struct mntent'	 
amule.cpp:427: error: forward declaration of `struct mntent'	 
amule.cpp:437: error: invalid use of undefined type `struct mntent'	 
amule.cpp:427: error: forward declaration of `struct mntent'	 
amule.cpp: In member function `virtual void CamuleApp: nFatalException()':	 
amule.cpp:982: error: `backtrace' undeclared (first use this function)	 
amule.cpp:987: error: `backtrace_symbols' undeclared (first use this function)	 
gmake[2]: *** [amule-amule.o] Error 1	 
gmake[2]: Leaving directory `/home/eugene/aMule-2.0.0rc3/src'	 
gmake[1]: *** [all-recursive] Error 1	 
gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3'	 
gmake: *** [all] Error 2

So we patch it now:

As there is no official FreeBSD support in aMule yet we will patch it to work... Well there is OpenBSD support and this support will work for us too :-)

Edit src/amule.cpp

and insert

#define __OPENBSD__

at the top of this file. I placed it right before the first #include line...

"What a workaround!" you may scream. Hey, we don't fiddle too much around with the code, just hack it to work and get ready to share ;-)