Difference between revisions of "Install-amule-freebsd"
m (more links stuff) |
|||
Line 2: | Line 2: | ||
− | == Install | + | == Install [[aMule]] 2.0.0rc3 on [http://www.freebsd.org FreeBSD] 5.x == |
− | Why would | + | Why would you ask... we have ''/usr/ports/net/amule'' |
Well, this is the stable version 1.2.6 | Well, this is the stable version 1.2.6 | ||
− | We wanna stay current or help testing / debugging, why else would | + | We wanna stay current or help testing / debugging, why else would you read this? |
− | == Install ports we need if | + | == Install ports we need if you don't allready have (see ''pkg_info'') == |
Line 20: | Line 20: | ||
''x11-toolkits/wxgtk'' | ''x11-toolkits/wxgtk'' | ||
− | and (but you will have this already ;-) | + | and (but you will have this already ;-)) |
''devel/gettext'' | ''devel/gettext'' | ||
− | and (but you will also have this already ;-) | + | and (but you will also have this already ;-)) |
''devel/gmake'' | ''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]. | + | You know how to install ports as a [http://www.bsd.org 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 [http://www.freebsd.org FreeBSD], consult the great [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook handbook] at [http://www.freebsd.org 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 will become aMule unstable! You have to use wxGTK, not wxGTK2. | + | '''NOTE:''' If you think you have [[wxWidgets|wxGTK]] installed because you see [[wxWidgets|wxGTK2]], you should know, [[wxWidgets|wxGTK]] is linked against [http://www.gtk.org GTK1] and [[wxWidgets|wxGTK2]] is linked against [http://www.gtk.org GTK2]. Using [[wxWidgets|wxGTK2]] with [[aMule]] will become [[aMule]] unstable! You have to use [[wxWidgets|wxGTK]], not [[wxWidgets|wxGTK2]]. |
== Configure == | == Configure == | ||
− | The | + | The ''./configure'' does not work 100% automagically, we must help it out a bit. |
− | I used the following line of | + | I used the following line of ''configure'', which may differ for you a bit due to different OS or library versions you have installed. |
− | Right now this line works for FreeBSD 5.2-CURRENT 03-May-2004 for example but version numbers may be different for FreeBSD 5.2.1 or the upcomming 5.3. | + | Right now this line works for [http://www.freebsd.org FreeBSD] 5.2-CURRENT 03-May-2004 for example but version numbers may be different for [http://www.freebsd.org FreeBSD] 5.2.1 or the upcomming 5.3. |
− | Edit the <your home> tag, of course, or install it elsewhere. | + | 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'' | + | ''./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 [http://wiki.org/wiki.cgi?WhatIsWiki wiki]/HTML/your browser wraps this line into. | |
− | You will see configure doesn't find | + | 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 | + | '''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.'' | ''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 | + | at the end of ''configure'' you are probably linking against [[wxWidgets|wxGTK2]] instead of [[wxWidgets|wxGTK]]. [[aMule]] will memleak and eat your CPU. It will probably crash as well. Use [[wxWidgets|wxGTK]] as mentioned above! |
== Patch 1 == | == Patch 1 == | ||
Line 59: | Line 59: | ||
The problem would be: | The problem would be: | ||
− | + | ''<pre>[...] | |
/usr/bin/ld: cannot find -lcryptopp | /usr/bin/ld: cannot find -lcryptopp | ||
gmake[2]: *** [cas] Error 1 | gmake[2]: *** [cas] Error 1 | ||
Line 65: | Line 65: | ||
gmake[1]: *** [all-recursive] Error 1 | gmake[1]: *** [all-recursive] Error 1 | ||
gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3' | gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3' | ||
− | gmake: *** [all] Error 2</pre> | + | gmake: *** [all] Error 2</pre>'' |
So we patch it now: | So we patch it now: | ||
Line 90: | Line 90: | ||
The problem would be: | The problem would be: | ||
− | + | ''<pre>[...] | |
amule.cpp:39:30: execinfo.h: No such file or directory | amule.cpp:39:30: execinfo.h: No such file or directory | ||
amule.cpp:40:28: mntent.h: No such file or directory | amule.cpp:40:28: mntent.h: No such file or directory | ||
Line 116: | Line 116: | ||
gmake[1]: *** [all-recursive] Error 1 | gmake[1]: *** [all-recursive] Error 1 | ||
gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3' | gmake[1]: Leaving directory `/home/eugene/aMule-2.0.0rc3' | ||
− | gmake: *** [all] Error 2</pre> | + | gmake: *** [all] Error 2</pre>'' |
So we patch it now: | 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 :-) | + | As there is no official [http://www.freebsd.org FreeBSD] support in [[aMule]] yet we will patch it to work... Well there is [http://www.openbsd.org OpenBSD] support and this support will work for us too :-) |
Edit ''src/amule.cpp'' | Edit ''src/amule.cpp'' | ||
Line 137: | Line 137: | ||
''make'' will fail, use ''gmake'' | ''make'' will fail, use ''gmake'' | ||
− | ''make'' is BSD make, ''gmake'' is gnu make. They are '''not''' compatible. | + | ''make'' is [http://www.bsd.org BSD] [http://www.gnu.org/software/make make], ''gmake'' is [http://www.gnu.org GNU] [http://www.gnu.org/software/make make]. They are '''not''' compatible. |
Now do: | Now do: | ||
Line 162: | Line 162: | ||
I've just released the 2.0.0rc3 port. | I've just released the 2.0.0rc3 port. | ||
− | See | + | See http://www.amule.org/amule/download.php (and http://contribs.martymac.com) to download it. |
Since the port is not (yet) 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''. | Since the port is not (yet) 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''. | ||
Line 172: | Line 172: | ||
== 2.0.0rc4a ports == | == 2.0.0rc4a 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. | + | 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 | + | Unfortunately, [http://www.freebsd.org FreeBSD] 4.x (and [http://gcc.gnu.org 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, wich 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 welcome :) | Includes many patches, sometimes tricky, to make it work. This could lead to unstability and require further testing. Any feedback welcome :) | ||
− | + | *Another one for the 5.x branch, wich won't compile under 4.x: | |
This one doesn't include any patch. | This one doesn't include any patch. | ||
− | To download the ports : | + | To download the ports: http://www.amule.org/amule/download.php or http://contribs.martymac.com |
− | Enjoy ! | + | Enjoy! |
Ganael LAPLANCHE | Ganael LAPLANCHE | ||
Line 190: | Line 190: | ||
http://contribs.martymac.com | http://contribs.martymac.com | ||
− | ganael.laplanche@martymac.com | + | [mailto://ganael.laplanche@martymac.com ganael.laplanche@martymac.com] |
Revision as of 14:04, 18 July 2004
This page is likely to be updated soon, but it might help you even right now.
Contents
Install aMule 2.0.0rc3 on FreeBSD 5.x
Why would you ask... we have /usr/ports/net/amule
Well, this is the stable version 1.2.6
We wanna stay current or help testing / debugging, why else would you read this?
Install ports we need if you don't allready have (see pkg_info)
security/cryptopp
and
x11-toolkits/wxgtk
and (but you will have this already ;-))
devel/gettext
and (but you will also have this already ;-))
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 will become aMule unstable! You have to use wxGTK, not wxGTK2.
Configure
The ./configure does not work 100% automagically, we must help it out a bit.
I used the following line of configure, which may differ for you a bit due to different OS or library versions you have installed.
Right now this line works for FreeBSD 5.2-CURRENT 03-May-2004 for example but version numbers may be different for FreeBSD 5.2.1 or the upcomming 5.3.
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!
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 ;-)
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
Update - Using the 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.
Since the port is not (yet) 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.
2.0.0rc4a 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, wich 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 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