Difference between revisions of "HowTo Compile In Gentoo"
m |
|||
Line 6: | Line 6: | ||
== Available eBuilds == | == Available eBuilds == | ||
+ | |||
The eBuild for [[aMule]]-2.0.1 can be found here: | The eBuild for [[aMule]]-2.0.1 can be found here: | ||
http://bugs.gentoo.org/show_bug.cgi?id=71108 | http://bugs.gentoo.org/show_bug.cgi?id=71108 | ||
Line 12: | Line 13: | ||
http://forum.amule.org/thread.php?sid=&postid=30548 | http://forum.amule.org/thread.php?sid=&postid=30548 | ||
− | == Stable aMule from portage == | + | == Stable [[aMule]] from portage == |
− | If you just ''emerge amule'' you will install the version of aMule that Gentoo considers stable. This version is amule-1.2.8 which is over 12 months old, lacks several bugfixes and features which could seriously lower your downloads or make it impossible to connect to some servers. So this option is not really a good option. | + | If you just ''emerge amule'' you will install the version of [[aMule]] that [http://www.gentoo.org Gentoo] considers stable. This version is amule-1.2.8 which is over 12 months old, lacks several bugfixes and features which could seriously lower your downloads or make it impossible to connect to some servers. So this option is not really a good option. |
− | == Unstable aMule from portage == | + | == Unstable [[aMule]] from portage == |
[http://www.gentoo.org Gentoo] classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is ''amule2.0.0rc7''. There is an (unofficial) ebuild for rc8, but rc8 depends on ''wxGTK2.5.3'' to build the [[aMuled|aMule daemon]] and ''wxGTK2.5.3'' is hardmasked in portage. | [http://www.gentoo.org Gentoo] classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is ''amule2.0.0rc7''. There is an (unofficial) ebuild for rc8, but rc8 depends on ''wxGTK2.5.3'' to build the [[aMuled|aMule daemon]] and ''wxGTK2.5.3'' is hardmasked in portage. | ||
Line 28: | Line 29: | ||
However rc7 is getting quite old now, so it is the best thing to use either rc8 or even a recent cvs tarball and compile amule manually. | However rc7 is getting quite old now, so it is the best thing to use either rc8 or even a recent cvs tarball and compile amule manually. | ||
− | == Recent aMule manual installation == | + | == Recent [[aMule]] manual installation == |
By default, [http://www.gentoo.org Gentoo] uses ''gtk2'' in all recent profiles. When it comes to [[wxGTK]] (which is needed by [[aMule]]), this can be some trouble. The recent stable [[wxGTK]] in portage is ''wxGTK2.4.2'' which should never be linked against ''GTK2''. It causes random crashes, freezes, unpredictable behaviour and may even harm your pet dog! | By default, [http://www.gentoo.org Gentoo] uses ''gtk2'' in all recent profiles. When it comes to [[wxGTK]] (which is needed by [[aMule]]), this can be some trouble. The recent stable [[wxGTK]] in portage is ''wxGTK2.4.2'' which should never be linked against ''GTK2''. It causes random crashes, freezes, unpredictable behaviour and may even harm your pet dog! | ||
Line 36: | Line 37: | ||
Another thing is unicode support: You can't enable unicode support when using ''GTK1.2'' and enabling unicode with ''GTK2'' causes huge memleaks (100MB and more in 24h). So I will just disable it in these examples. | Another thing is unicode support: You can't enable unicode support when using ''GTK1.2'' and enabling unicode with ''GTK2'' causes huge memleaks (100MB and more in 24h). So I will just disable it in these examples. | ||
− | == | + | == [[wxGTK]] 2.5.3 - 2.6.0 == |
− | + | If you want to use amuled then you need, at least, ''wxGTK2.5.3''. Currently, the only version not hard masked in Portage is [[wxGTK]] 2.4.2 due to problems when compiling with [http://www.opengl.org OpenGL] support in [[wxGTK]] 2.5.3. But as [[aMule]] is no 3D egoshooter, we can safely disable [http://www.opengl.org OpenGL] support and use it anyway. To do so enter the following into a console as root: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | If you want to use amuled then you need, at least, ''wxGTK2.5.3''. Currently, the only version not hard masked in Portage is wxGTK 2.4.2 due to problems when compiling with [http://www.opengl.org OpenGL] support in wxGTK 2.5.3. But as [[aMule]] is no 3D egoshooter, we can safely disable [http://www.opengl.org OpenGL] support and use it anyway. To do so enter the following into a console as root: | + | |
<code>mkdir /etc/portage (this may give you an error if the directory already exists, just ignore that)<br> | <code>mkdir /etc/portage (this may give you an error if the directory already exists, just ignore that)<br> | ||
Line 60: | Line 51: | ||
<code>emerge -av wxGTK</code> | <code>emerge -av wxGTK</code> | ||
+ | |||
+ | == [[wxGTK]] 2.4.2 == | ||
+ | |||
+ | If you don't want to use [[aMuled]] then ''wxGTK2.4.2'' is just fine for. You only need to tell it that it should link against ''GTK1.2''. To do this grab a console and enter (as root): | ||
+ | |||
+ | <code>mkdir /etc/portage (this may give you an error if the directory already exists, just ignore that)<br> | ||
+ | echo 'x11-libs/wxGTK -gtk2 -unicode' >> /etc/portage/package.use<br> | ||
+ | emerge -av wxGTK</code> | ||
+ | |||
+ | This should (re-)emerge ''wxGTK2.4.2'' linked against ''GTK1.2''. Now you can go on to [[HowTo_Compile_In_Gentoo#compiling_amule|compiling aMule]]. | ||
== Compiling [[aMule]] == | == Compiling [[aMule]] == | ||
+ | |||
Grab either ''amule2.0.0rc8'' from http://www.aMule.org or (specially if you want to use [[aMuled]]) a recent [[aMule CVS|CVS tarball]] from http://amule.hirnriss.net. Untar it by entering <code>tar -xvjf aMule-foo.tar.bz2</code> and go into the newly created directory. | Grab either ''amule2.0.0rc8'' from http://www.aMule.org or (specially if you want to use [[aMuled]]) a recent [[aMule CVS|CVS tarball]] from http://amule.hirnriss.net. Untar it by entering <code>tar -xvjf aMule-foo.tar.bz2</code> and go into the newly created directory. | ||
Revision as of 15:03, 21 May 2005
Compiling a recent version of aMule on Gentoo should be a breeze by just typing emerge amule but due to several facts it isn't quite that easy right now. So here's a little Step-by-Step explanation. Please read the whole document before doing anything as there are several ways you can use and each of them will have a different outcome.
Note: currently Diego "Flameeyes" Pettenò (non-official devel) is trying to make the aMule emerge easier. Please take a look at Gentoo Bug #71108 for further information. The new ebuild requires, at minimum, wxGTK 2.5, but there is another ebuild for wxGTK 2.5 (also from Diego) which should allow to safely unmask that version.
Contents
Available eBuilds
The eBuild for aMule-2.0.1 can be found here: http://bugs.gentoo.org/show_bug.cgi?id=71108
The eBuild for aMule CVS can be found here: http://forum.amule.org/thread.php?sid=&postid=30548
Stable aMule from portage
If you just emerge amule you will install the version of aMule that Gentoo considers stable. This version is amule-1.2.8 which is over 12 months old, lacks several bugfixes and features which could seriously lower your downloads or make it impossible to connect to some servers. So this option is not really a good option.
Unstable aMule from portage
Gentoo classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is amule2.0.0rc7. There is an (unofficial) ebuild for rc8, but rc8 depends on wxGTK2.5.3 to build the aMule daemon and wxGTK2.5.3 is hardmasked in portage.
However, if rc7 is "new enough" for you enter the following things as root into a console:
mkdir /etc/portage (this could give an error message if the directory already exists, just ignore that)
echo 'net-p2p/amule ~x86' >> /etc/portage/package.keywords
emerge -av amule
However rc7 is getting quite old now, so it is the best thing to use either rc8 or even a recent cvs tarball and compile amule manually.
Recent aMule manual installation
By default, Gentoo uses gtk2 in all recent profiles. When it comes to wxGTK (which is needed by aMule), this can be some trouble. The recent stable wxGTK in portage is wxGTK2.4.2 which should never be linked against GTK2. It causes random crashes, freezes, unpredictable behaviour and may even harm your pet dog!
So there are two possible ways to go: choose wxGTK2.4.2 linked against GTK1.2 (which should be fine for everybody who doesn't want to use aMuled, the aMule daemon) or choose wxGTK2.5.3 linked either against GTK1.2 or GTK2 (for those who want to try aMuled as aMuled doesn't work with wxGTK prior to 2.5.3).
Another thing is unicode support: You can't enable unicode support when using GTK1.2 and enabling unicode with GTK2 causes huge memleaks (100MB and more in 24h). So I will just disable it in these examples.
wxGTK 2.5.3 - 2.6.0
If you want to use amuled then you need, at least, wxGTK2.5.3. Currently, the only version not hard masked in Portage is wxGTK 2.4.2 due to problems when compiling with OpenGL support in wxGTK 2.5.3. But as aMule is no 3D egoshooter, we can safely disable OpenGL support and use it anyway. To do so enter the following into a console as root:
mkdir /etc/portage (this may give you an error if the directory already exists, just ignore that)
echo 'x11-libs/wxGTK ~x86' >> /etc/portage/package.keywords
If you want to use GTK1.2 (recommended):
echo 'x11-libs/wxGTK -gtk2 -unicode -opengl' >> /etc/portage/package.use
If you want to use GTK2 (not thoroughly tested yet):
echo 'x11-libs/wxGTK -unicode -opengl' >> /etc/portage/package.use
emerge -av wxGTK
wxGTK 2.4.2
If you don't want to use aMuled then wxGTK2.4.2 is just fine for. You only need to tell it that it should link against GTK1.2. To do this grab a console and enter (as root):
mkdir /etc/portage (this may give you an error if the directory already exists, just ignore that)
echo 'x11-libs/wxGTK -gtk2 -unicode' >> /etc/portage/package.use
emerge -av wxGTK
This should (re-)emerge wxGTK2.4.2 linked against GTK1.2. Now you can go on to compiling aMule.
Compiling aMule
Grab either amule2.0.0rc8 from http://www.aMule.org or (specially if you want to use aMuled) a recent CVS tarball from http://amule.hirnriss.net. Untar it by entering tar -xvjf aMule-foo.tar.bz2
and go into the newly created directory.
Review ./configure --help
for a summary of all configure options. Pick the ones you want and run (as an example building, the monolithic client and aMuleCMD)
./configure --enable-amulecmd
Review the configure output for errors and if everything seems fine type make
. Once aMule is done compiling change to a root account and type make install
to install aMule. Now you're done and can start enjoying your aMule experience.