<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://test.amule.szerverem.hu/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thedude0001</id>
		<title>AMule Project FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Thedude0001"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/Thedude0001"/>
		<updated>2026-04-05T14:27:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_devs</id>
		<title>AMule devs</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_devs"/>
				<updated>2008-03-20T02:50:24Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: /* Becoming a Developer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[AMule_devs-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The [[aMule]] Project ==&lt;br /&gt;
The aMule project is led by a bunch of people (tho some rumours say they are monkeys) who toil away in front of their computers, so that you can enjoy a stable and featureful P2P client.&lt;br /&gt;
This page is about them.&lt;br /&gt;
&lt;br /&gt;
== The Team ==&lt;br /&gt;
These are the people who work on aMule:&lt;br /&gt;
&lt;br /&gt;
=== Developers ===&lt;br /&gt;
* [[User:deltaHF|deltaHF]]: Webmaster, Admin and from-time-to-time-coder ;)&lt;br /&gt;
* [[User:falso|falso]]: [[CAS]] coder.&lt;br /&gt;
* [[User:GonoszTopi|GonoszTopi]]: [[External Connections]] developer.&lt;br /&gt;
* [[User:Hetfield|Hetfield]]: Ex-Admin, pretty-no-free-time coder.&lt;br /&gt;
* [[User:Jacobo221|Jacobo221]]: Our man-for-all&lt;br /&gt;
* [[User:ken|Ken]]: The big [http://www.apple.com/macosx Mac] guy.&lt;br /&gt;
* [[User:lfroen|lfroen]]: Core/GUI dedicated guy.&lt;br /&gt;
* [[User:Phoenix|Phoenix]]: Code janitor junior and Admin.&lt;br /&gt;
* [[User:thepolish|thepolish]]: [[aMule]] [[FAQ_utils|tools]] coder.&lt;br /&gt;
* [[User:Xaignar|Xaignar]]: Code janitor extraordinaire!&lt;br /&gt;
&lt;br /&gt;
=== Testers ===&lt;br /&gt;
* [[User:Citroklar|Citroklar]]: Tester, slave-work-coder (sometimes)&lt;br /&gt;
* ender`: Tester&lt;br /&gt;
* [[User:lionel77|lionel77]]: Tester and provider of binaries for Mac OS&lt;br /&gt;
* nachbarnebenan: Tester, and life-complicator by using large&amp;amp;amp;strange nicks ;-P&lt;br /&gt;
* nich: Tester&lt;br /&gt;
* skolnick: Solaris tester&lt;br /&gt;
* [[User:Stefanero|Stefanero]]: Supporter, Tester, and [[aMuleWeb]] Guru&lt;br /&gt;
* [[User:thedude0001|thedude0001]]: Tester&lt;br /&gt;
&lt;br /&gt;
=== Special Gold Guest Members ===&lt;br /&gt;
* [[User:Bigbob|Bigbob]]: Also known as ''[[User:Bigbob|Creteil]]''; [[aMule]] project creator.&lt;br /&gt;
* [[User:Madcat|Madcat]]: The one and only kitty dev.&lt;br /&gt;
* [[User:Tiku|Tiku]]: And God said: Let there be [[lMule]]!&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* [[User:Bootstrap|bootstrap]]: [[IRC]] bot (''bootbox'') and [[aMule CVS]] hoster&lt;br /&gt;
* [[User:uberpenguin|uberpenguin]]: uberpenguin is extremely difficult to classify...  Let us call him the 'official bystander to *mule'.&lt;br /&gt;
* niet: [http://www.dns.net/dnsrd DNS] stuff, [[XAS]], tester.&lt;br /&gt;
&lt;br /&gt;
=== Former Team-members ===&lt;br /&gt;
These are people who have worked on [[aMule]] in the past.&lt;br /&gt;
Please note that this list doesn't include the people from before [[aMule]] forked off from [[xMule]], nor does it include people from the [[lMule]] days. If you wish to learn more about those, please visit the websites of those projects.&lt;br /&gt;
&lt;br /&gt;
==== Developers ====&lt;br /&gt;
* shakraw: [[aMuleWeb]] mantainer.&lt;br /&gt;
* [[User:Kry|Kry]]: Main developer and Admin, now retired.&lt;br /&gt;
* [[User:Unleashed|Unleashed]]: Sometimes around ;), not anymore.&lt;br /&gt;
&lt;br /&gt;
==== Testers ====&lt;br /&gt;
&lt;br /&gt;
=== Is this Team competent enough? ===&lt;br /&gt;
&lt;br /&gt;
There is a private IRC channel where aMule developers talk about future plans, developing roadmaps and help each other. Many people wonder how's life in that channel. It is well known that a good working environment grants an efficient development. Now, [[A_random_day_in_aMule_development|get a random example of what the Team's working environment is]] ('''Parental advisory:''' Keep your children away from this link!).&lt;br /&gt;
&lt;br /&gt;
== Helping ==&lt;br /&gt;
We can always use another helping hand, and if you are interested, then I'd encourage you to contact us and see if you can help us. Currently, what we need the most is developers and testers, though also translators and others.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Developer ===&lt;br /&gt;
To become a [[aMule]] Developer (tm), you'll need, at the very least, a working knowledge of C++, since C++ is the language in which [[aMule]] is written. You'll also need to learn about the GUI toolkit used by [[aMule]]: [[wxWidgets]]. In addition, you are required to our [[Coding Style]] rules or we will beat you to death with a sockful of rocks. We do not require that you be an expert, only that you are willing to help and learn.&lt;br /&gt;
&lt;br /&gt;
If you are interested, then simply drop by the [[IRC|IRC Channel]] and let us know. Currently, we use a private SVN server, but after you've submitted a patch or two you can easily get r/w access to it. You can also post patches on the [http://www.amule-project.net/amule/board.php?boardid=47 Development] forum, however, virtually all discussions regarding development happens on [[IRC]].&lt;br /&gt;
&lt;br /&gt;
We can especially use your skills if you are using one of the platforms: [http://www.unix.org Unix], *[http://www.bsd.org BSD], [http://www.sun.com/solaris Solaris], [http://www.apple.com Macs] and [http://www.microsoft.com/windows Windows]. If your operating system of choice isn't on that list, then perhaps you can contribute.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Tester ===&lt;br /&gt;
We need people who are willing to create complete bug-reports, as the standard is pretty low regarding user reports. This is rather simple, but takes patience. Please contact us on [[IRC]] for more information and read [[Backtraces|this guide on creating useful backtraces]].&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Translator ===&lt;br /&gt;
[[aMule]] already includes translations for a number of languages, however, we'll always welcome more, and even if your language of choice has been done already, then perhaps you can help improve it. Please see the [http://forum.amule.org/board.php?boardid=40 Translations forum] for more information on current translations, or contact us on [[IRC]]. Also, take a look at the [[Translations|aMule translation howto]].&lt;br /&gt;
&lt;br /&gt;
BTW, you can also help with [[Translating_Wiki|translating aMule wiki]] articles. There's always lots of work to do. =)&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Contacting the aMule Team is easy. Choose between any of the listed ways in the [[contact|contact article]]. Just please do it once, avoiding spam or floods.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Ed2k_links_handling</id>
		<title>Ed2k links handling</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Ed2k_links_handling"/>
				<updated>2006-08-10T05:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: Removed ancient versions of firefox &amp;amp; mozilla. Nobody should use these programs any longer and they're confusing lusers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Ed2k_links_handling-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way to have [[aMule]] handle your [[ed2k link]]s on your favorite WebBrowser will depend on which WebBrowser you use. So, here's a list of mini-HowTos for each of the most popular WebBrowsers.&lt;br /&gt;
Have in mind that everywhere on this document, ''/path/to/ed2k'' should be replaced with ''/usr/local/bin/ed2k'', ''/usr/bin/ed2k'', ''C:\Program Files\aMule\ed2k.exe'' or whatever, depending on your own system's configuration.&lt;br /&gt;
&lt;br /&gt;
As a general idea, in most [http://www.kernel.org Linux] systems, self-compiled [[aMule]]s will install the [[FAQ_ed2k_command|ed2k]] utility in ''/usr/local/bin/ed2k'', while package-installed [[aMule]]s will install it in ''/usr/bin/ed2k''. As an exception, it is known that [http://www.suse.com SuSE] packages install it in ''/usr/local/bin/ed2k''.&lt;br /&gt;
&lt;br /&gt;
== [http://www.microsoft.com/windows/ie Internet Explorer] ==&lt;br /&gt;
'''by ''[[User:Jacobo221|Jacobo221]]'''''&lt;br /&gt;
&lt;br /&gt;
Go to &amp;quot;Start&amp;quot; -&amp;gt; &amp;quot;Run&amp;quot; and run &amp;quot;regedit&amp;quot; (without quotes).&lt;br /&gt;
&lt;br /&gt;
Now, in regedit, go to ''HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ed2k\shell\open\command''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' It could happen that ''ed2k'' and/or it's subfolders didn't exist. In such case, create them one-by-one by selecting &amp;quot;New&amp;quot; -&amp;gt; &amp;quot;Key&amp;quot; and entering ''ed2k'' or whatever as it's value.&lt;br /&gt;
&lt;br /&gt;
http://www.amule.org/dev-up/ed2k-win1.jpg&lt;br /&gt;
&lt;br /&gt;
Now just double click on &amp;quot;(Default)&amp;quot; (or &amp;quot;(Standad)&amp;quot; or whatever the first value is there) and enter the path to the ed2k application, followed by ''&amp;quot;%1&amp;quot;'' (with quotes), so you should end with some value like ''C:\Program Files\aMule2\ed2k &amp;quot;%1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
http://www.amule.org/dev-up/ed2k-win2.jpg&lt;br /&gt;
&lt;br /&gt;
Finally, do the same in ''HKEY_CLASSES_ROOT\ed2k\shell\open\command''&lt;br /&gt;
&lt;br /&gt;
== [http://www.konqueror.org Konqueror] ==&lt;br /&gt;
'''by ''gfdsa'''''&lt;br /&gt;
&lt;br /&gt;
''/usr/kde/3.1/share/services'' you can find it by file names ended with ''.protocol'' kinda ''`find /usr -name &amp;quot;*.protocol&amp;quot;`'' or ''`find /opt -name &amp;quot;*.protocol&amp;quot;`'' or even put ''/'' to path if you want.&lt;br /&gt;
&lt;br /&gt;
If the search was successful, create a file named like ''ed2k.protocol'' in&lt;br /&gt;
the mentioned directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[Protocol]&amp;lt;br&amp;gt;&lt;br /&gt;
exec=/path/to/ed2k &amp;quot;%u&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
protocol=ed2k&amp;lt;br&amp;gt;&lt;br /&gt;
input=none&amp;lt;br&amp;gt;&lt;br /&gt;
output=none&amp;lt;br&amp;gt;&lt;br /&gt;
helper=true&amp;lt;br&amp;gt;&lt;br /&gt;
listing=false&amp;lt;br&amp;gt;&lt;br /&gt;
reading=false&amp;lt;br&amp;gt;&lt;br /&gt;
writing=false&amp;lt;br&amp;gt;&lt;br /&gt;
makedir=false&amp;lt;br&amp;gt;&lt;br /&gt;
deleting=false&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now just restart [http://www.konqueror.org Konqueror].&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' You might get a security warning. don't worry. it is just warning you that the link is being sent to an external application.&lt;br /&gt;
&lt;br /&gt;
'''NOTE2:''' If after clicking ''OK'' on the security warning the link is still not being sent to [[aMule]], just right-click on the [[ed2k link]] and tell [http://www.konqueror.org Konqueror] to open it in a new window/tab.&lt;br /&gt;
&lt;br /&gt;
== [http://galeon.sourceforge.net Galeon] ==&lt;br /&gt;
&lt;br /&gt;
=== Method 1 ===&lt;br /&gt;
&lt;br /&gt;
In the [http://freshmeat.net/projects/gnomecc GNOME Control Center] go to &amp;quot;Complex&amp;quot; -&amp;gt; &amp;quot;File Types and Programs&amp;quot; -&amp;gt; &amp;quot;Internet Services&amp;quot; -&amp;gt; &amp;quot;Add Service...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In the protocol filed enter ''ed2k''&lt;br /&gt;
&lt;br /&gt;
In the Program field enter ''ed2k %s''&lt;br /&gt;
&lt;br /&gt;
Unselect &amp;quot;Run in terminal&amp;quot; if it is selected.&lt;br /&gt;
&lt;br /&gt;
Click ''OK'' and you're done!&lt;br /&gt;
&lt;br /&gt;
=== Method 2 ===&lt;br /&gt;
&lt;br /&gt;
Execute the following three commands to create the appropriate ''gconf'' keys:&lt;br /&gt;
*''gconftool-2 -t string -s /desktop/gnome/url-handlers/ed2k/command &amp;quot;/usr/local/bin/ed2k %s&amp;quot;''&lt;br /&gt;
*''gconftool-2 -t bool -s /desktop/gnome/url-handlers/ed2k/enabled true''&lt;br /&gt;
*''gconftool-2 -t bool -s /desktop/gnome/url-handlers/ed2k/needs_terminal false''&lt;br /&gt;
Replace &amp;quot;''/usr/local/bin/ed2k''&amp;quot; above with the path and name of the ''ed2k'' executable on your system.&lt;br /&gt;
&lt;br /&gt;
Uninstalling this protocol handler is similarly simple:&lt;br /&gt;
*''gconftool-2 -u /desktop/gnome/url-handlers/ed2k --recursive-unset''&lt;br /&gt;
&lt;br /&gt;
== [http://www.opera.com Opera]  ==&lt;br /&gt;
'''by ''thermoman (Marcel Meckel)'', ''ender'' and ''[[User:Jacobo221|Jacobo221]]''&lt;br /&gt;
&lt;br /&gt;
=== Clean way ===&lt;br /&gt;
&lt;br /&gt;
In [http://www.opera.com Opera] go to ''Tools-&amp;gt;Preferences-&amp;gt;Paths and Programms-&amp;gt;Add...''&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;Protocol&amp;quot; field enter ''ed2k''&lt;br /&gt;
&lt;br /&gt;
In the &amp;quot;Path&amp;quot; or &amp;quot;Open with another application&amp;quot; field enter ''/path/to/ed2k''&lt;br /&gt;
&lt;br /&gt;
http://www.amule.org/dev-up/ed2k-op.jpg&lt;br /&gt;
&lt;br /&gt;
=== Dirty way ===&lt;br /&gt;
&lt;br /&gt;
If he above instructions didn't work, you can try edit ''/etc/opera6rc'' as root or ''~/.opera/opera6.ini'' as non-root and setting:&lt;br /&gt;
&lt;br /&gt;
''[User Prefs]''&amp;lt;br&amp;gt;&lt;br /&gt;
''TrustedExternalURLProtocols=ed2k''&amp;lt;br&amp;gt;&lt;br /&gt;
''[Trusted Applications]''&amp;lt;br&amp;gt;&lt;br /&gt;
''ed2k=ed2k''&lt;br /&gt;
&lt;br /&gt;
=== Opera 6 bug ===&lt;br /&gt;
&lt;br /&gt;
'''[http://www.opera.com Opera] 6''' doesn't pass complete URL to external programs; only URL without protocol. The way to walk around this follows.&lt;br /&gt;
&lt;br /&gt;
==== [http://www.kernel.org Linux] or some other [http://www.unix.org Unix]-like flavour ====&lt;br /&gt;
&lt;br /&gt;
Create ''amule_submit.sh'' with this content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/sh&amp;lt;br&amp;gt;&lt;br /&gt;
/path/to/ed2k &amp;quot;ed2k://$1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now in ''Tools-&amp;gt;Preferences-&amp;gt;Paths and Programms-&amp;gt;Add...-&amp;gt;Path'' or in the ''opera6rc'' file change ''ed2k=/path/to/ed2k'' with ''ed2k=/path/to/amule_submit.sh''&lt;br /&gt;
&lt;br /&gt;
==== [http://www.microsoft.com/windows Windows] ====&lt;br /&gt;
&lt;br /&gt;
Create ''amule_submit.bat'' with this content:&lt;br /&gt;
&lt;br /&gt;
''X:\path\to\ed2k.exe &amp;quot;ed2k://%1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Change ''ed2k=/path/to/ed2k ed2k://%u'' with ''ed2k=X:\path\to\amule_submit.bat ed2k://%u''&lt;br /&gt;
&lt;br /&gt;
== [http://www.mozilla.org Mozilla] 1.7 (or later) &amp;amp; [http://www.mozilla.org/products/firefox Firefox] 0.9 (or later)==&lt;br /&gt;
'''by ''GhePeU'''''&lt;br /&gt;
&lt;br /&gt;
Mozex doesn't work anymore with [http://www.mozilla.org Mozilla] 1.7 and [http://www.mozilla.org/products/firefox Firefox] 0.9. There is an alternate method that seems to be working with both of them:&lt;br /&gt;
&lt;br /&gt;
*Remove [http://mozex.mozdev.org/installation.html MozEx] if installed or at least remove the ed2k input from it (only if [http://mozex.mozdev.org/installation.html MozEx] is installed)&lt;br /&gt;
&lt;br /&gt;
*Insert ''about:config'' in the address bar&lt;br /&gt;
&lt;br /&gt;
*Right click on the list, select '''New''', then '''Boolean'''; insert ''network.protocol-handler.external.ed2k'' as '''Preference Name''' and ''true'' as '''Value'''&lt;br /&gt;
&lt;br /&gt;
*Now another right click, select '''New''' and '''String'''; insert ''network.protocol-handler.app.ed2k'' as '''Preference Name''' and ''/path/to/ed2k'' (path to where the file is installed on your system) as '''Value'''.&lt;br /&gt;
&lt;br /&gt;
http://www.amule.org/dev-up/ed2k-ff9.jpg&lt;br /&gt;
&lt;br /&gt;
'''NOTE 1:''' Since version 1.5.x of Mozilla Firefox this method doesn't work any longer for the windows version. You must use the Internet Explorer method with the registry entries instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [http://xray.sai.msu.ru/~karpov/links-hacked Links] ==&lt;br /&gt;
(Probably this will work for the usual links and/or [[ed2k link|elinks]], too)&lt;br /&gt;
&lt;br /&gt;
add to ''url.c'' behind the lines about telnet and tn3270:&lt;br /&gt;
  ''--snip''&lt;br /&gt;
  ''{&amp;quot;ed2k&amp;quot;, 0, NULL, ed2k_func, 0, 0, 0},''&lt;br /&gt;
  ''--snap''&lt;br /&gt;
&lt;br /&gt;
add to ''links.h'' behind the definitions of /* mailto.c */:&lt;br /&gt;
  ''--snip''&lt;br /&gt;
  ''void ed2k_func(struct session *, unsigned char *);''&lt;br /&gt;
  ''--snap''&lt;br /&gt;
&lt;br /&gt;
add to ''mailto.c'' at the end:&lt;br /&gt;
  ''--snip''&lt;br /&gt;
  ''void ed2k_func(struct session *ses, unsigned char *url)''&lt;br /&gt;
  ''{''&lt;br /&gt;
  ''tn_func(ses, url, options_get(&amp;quot;network_program_ed2k&amp;quot;), TEXT(T_ED2K), TEXT(T_BAD_ED2K_URL));''&lt;br /&gt;
  ''}''&lt;br /&gt;
  ''--snap''&lt;br /&gt;
&lt;br /&gt;
add to ''options_register.c'' behind telnet and tn3270:&lt;br /&gt;
  ''--snip''&lt;br /&gt;
  ''register_option_char(&amp;quot;network_program_ed2k&amp;quot;, TEXT(T_ED2K_PROG),NULL,2);''&lt;br /&gt;
  ''--snap''&lt;br /&gt;
&lt;br /&gt;
add to ''intl/*.lng'' behind &lt;br /&gt;
  ''&amp;quot;T_TN3270_PROG&amp;quot;: T_ED2K_PROG, &amp;quot;ed2k program&amp;quot;,'' (or whatever that is in your language), behind&lt;br /&gt;
  ''&amp;quot;T_TN3270&amp;quot;: T_ED2K, &amp;quot;ed2k&amp;quot;,'' and behind &lt;br /&gt;
  ''&amp;quot;T_BAD_TN3270_URL&amp;quot;: T_BAD_ED2K_URL'' (I guess you've got the picture)&lt;br /&gt;
&lt;br /&gt;
If you want to automatize this stuff, execute the following commands:&lt;br /&gt;
  ''cd intl''&lt;br /&gt;
  ''for l in *.lng; do''&lt;br /&gt;
    ''cp $l $l.bak''&lt;br /&gt;
    ''cat $l.bak | sed -e &amp;quot;/T_TN3270_PROG*/aT_ED2K_PROG\, \&amp;quot;ed2k program\&amp;quot;\,&amp;quot; \''&lt;br /&gt;
     ''-e &amp;quot;/T_TN3270,\ */aT_ED2K\, \&amp;quot;ed2k\&amp;quot;\,&amp;quot; \''&lt;br /&gt;
     ''-e &amp;quot;/T_BAD_TN3270_URL*/aT_BAD_ED2K_URL\, \&amp;quot;Bad ed2k url\&amp;quot;\,&amp;quot; &amp;gt; $l''&lt;br /&gt;
  ''done''&lt;br /&gt;
  &lt;br /&gt;
Anyway, run afterwards before recompiling links-hacked:&lt;br /&gt;
  ''./synclang''&lt;br /&gt;
  ''cd ..''&lt;br /&gt;
&lt;br /&gt;
Now you can compile with&lt;br /&gt;
  ''./configure'' (add your favourite options here) ''&amp;amp;&amp;amp;''&lt;br /&gt;
  ''make &amp;amp;&amp;amp;''&lt;br /&gt;
  ''make install''&lt;br /&gt;
&lt;br /&gt;
Because links somewhat malforms the urls, we need a small bash script handler:&lt;br /&gt;
  ''cat &amp;gt; /usr/bin/ed2k4links.sh &amp;lt;&amp;lt; &amp;quot;EOF&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
  ''#!/bin/bash''&lt;br /&gt;
&lt;br /&gt;
  ''ed2k $(echo &amp;quot;ed2k://$1&amp;quot; | sed s/_/\|/g)''&lt;br /&gt;
  ''EOF''&lt;br /&gt;
  ''chmod a+x /usr/bin/ed2k4links.sh''&lt;br /&gt;
&lt;br /&gt;
Do not forget to setup links (Options-&amp;gt;Network Options-&amp;gt;Mail and Telnet Programs) to call our ''ed2k4links.sh'' for [[ed2k link]]s:&lt;br /&gt;
  ''ed2k4links.sh %''&lt;br /&gt;
&lt;br /&gt;
Attention: The Percent Mark is important! Now links should work with [[ed2k link]]s.&lt;br /&gt;
&lt;br /&gt;
== Remotely handling links ==&lt;br /&gt;
&lt;br /&gt;
You can also handle links remotely, which means that you click over an [[ed2k link]] in a browser somewhere in the world and it gets into your home's [[aMule]] queue.&lt;br /&gt;
&lt;br /&gt;
How?&lt;br /&gt;
&lt;br /&gt;
Easy enough: using [[aMuleCMD]] (thanks '''djtm''' for this tip). Instead of using the [[ed2k command]], use the following as the command to use:&lt;br /&gt;
&lt;br /&gt;
''/'''path'''/'''to'''/amulecmd -rh $server -pw $pw -c &amp;quot;Add %u&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
Obviously, you'll have to replace ''$server'' and ''$pw'' with your server's [[IP]] (or [http://www.webopedia.com/TERM/D/DNS.html DNS]) and your [[External Connections]] password.&lt;br /&gt;
&lt;br /&gt;
Please note that the above tip is only available since [[aMule]] 2.0.0rc8.&lt;br /&gt;
&lt;br /&gt;
'''NOTE 1:''' In [http://www.mozilla.org Firefox], it is not possible to start a command with parameters. An easy solution is a shell script with the command described above. You only have to replace %u with $1. This shell script must be executable (chmod +x ed2k.sh) and defined as external ed2k app in Firefox.&lt;br /&gt;
&lt;br /&gt;
'''NOTE 2:''' If you prefer simple tools, try this shell script (for [http://www.kernel.org Linux]) - can be used with the above mentioned tip:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 beep -f 100 -l 40 -r2&lt;br /&gt;
 (sleep 1; echo dllink $1; sleep 2; echo q;) | nc '''''IP''''' '''''PORT'''''&lt;br /&gt;
 beep -l 15 -r3&lt;br /&gt;
&lt;br /&gt;
''nc'' is [http://netcat.sourceforge.net Netcat], but you can use telnet too (that's a bit simpler in [http://www.cygwin.com Cygwin]), ''beep'' is a simple program for beeping. ''IP'' and ''PORT'' should be replaced with the [[IP address]] and [[port]] of your remote server. That's it.&lt;br /&gt;
&lt;br /&gt;
***N O T E***&lt;br /&gt;
I found the perfect way to do this.&lt;br /&gt;
&lt;br /&gt;
To make FireFox launch ed2k links correctly (in aMule) you have to&lt;br /&gt;
follow some simple steps to tell it how to handle a new external&lt;br /&gt;
protocol. This should get rid of the dreaded &amp;quot;ed2k is not a registered&lt;br /&gt;
protocol&amp;quot; error you were most likely getting before.&lt;br /&gt;
&lt;br /&gt;
* Enter about:config in the address bar.&lt;br /&gt;
* Right click on the list, select New, then Boolean; enter&lt;br /&gt;
  network.protocol-handler.external.ed2k as Preference Name and true as Value&lt;br /&gt;
* Now right click, select New and String; enter&lt;br /&gt;
network.protocol-handler.app.ed2k as Preference Name and /usr/bin/ed2k&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_eD2k-Kademlia</id>
		<title>FAQ eD2k-Kademlia</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_eD2k-Kademlia"/>
				<updated>2006-05-17T11:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Are there any limitations on the ED2K network?=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;h4&amp;gt;F.A.Q. on eD2k-Kademlia&amp;lt;/h4&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''English''' | [[FAQ_eD2k-Kademlia-es|Español]] | [[FAQ_eD2k-Kademlia-it|Italiano]] | [[FAQ_eD2k-Kademlia-de|Deutsch]] | [[FAQ_ed2k-fr|Français]] | [[FAQ_eD2k-Kademlia-nl|Nederlands]] | [[FAQ_eD2k-Kademlia-pl|Polish]] | [[FAQ_eD2k-Kademlia-ru|Russian]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is ED2K? ==&lt;br /&gt;
&lt;br /&gt;
ED2K is a protocol originally used by the P2P (Peer-to-Peer) client [[eDonkey2000]], which is where the name comes from. It is a server-client based protocol, with the ability to exchange sources between clients. &lt;br /&gt;
&lt;br /&gt;
The ED2K network is server based like many other P2P networks such as [[Kazaa]] (Kazaa is server based, but hides the server connection from the user), which means that the first thing you do when you run [[aMule]] is to connect to a server (either manually or automatically). &lt;br /&gt;
&lt;br /&gt;
Once successfully connected to a server, the client can search, either locally (the connected server) or globally (all servers), for any file and the servers asked will provide the client with a list of all the files which match search parameters. &lt;br /&gt;
&lt;br /&gt;
If the user starts a download, the client will then ask the server for sources, which the server will return in the form of IP addresses for the clients that have told the server that they have the specific file.&lt;br /&gt;
&lt;br /&gt;
Then the remote client will begin to upload a whole chunk to your client as soon as you are the [[FAQ_eD2k-Kademlia#What_is_all_this_talk_about_credits,_ratings_and_scoring_about?|first in the queue]], and when the chunk has been completly sent, you will be taken back to its upload queue. This way different chunks get spread around the ED2K network, so that, although no-one may have at a same given moment the complete file, it may be completed by downloading the different chunks from different people (it is well known that users tend to stop sharing a file once it has been completed).&lt;br /&gt;
&lt;br /&gt;
Note that clients upload only '''one''' chunk at a time to another client. Even if a client is in the upload queue of two different files of a same user and gets to the top of both, that user will only upload one of the files to that client (the other upload, depending on the ED2K application the client uses, will probably remain as a maximum priority upload, but will not begin until the other chunk has been successfully uploaded).&lt;br /&gt;
&lt;br /&gt;
If both users have HighID (see [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|What is LowID and HighID?]]) the transfer will be done directly from client to client (Peer-to-Peer), but if one of the clients have LowID, the connection will be established through the server, since LowID cannot accept incoming connections. As a result, two LowID clients '''cannot''' connect to each other.&lt;br /&gt;
&lt;br /&gt;
== What is Kademlia? ==&lt;br /&gt;
&lt;br /&gt;
Kademlia is a natural evolution of the ED2K network. Kademlia is the future. See [[FAQ_eD2k-Kademlia#Are_there_any_limitations_on_the_ED2K_network?|Are there any limitations on the ED2K network?]] for more information on why Kademlia is necessary.&lt;br /&gt;
&lt;br /&gt;
Since Kademlia is a decentralized network, it removes the bottleneck that was previously caused by the need for servers (though [[Lugdunum]] has done great work in reducing this bottleneck). Now, instead of connecting to a server, you just connect to a client (with a known IP-address and port), which supports the network [[Kademlia]]. This is called the Boot Strapping.&lt;br /&gt;
&lt;br /&gt;
Once connected, depending on your ability to accept incoming connections, you are given either &amp;quot;open&amp;quot; or &amp;quot;firewalled&amp;quot; status, which is similar to the HighID and LowID of the ED2K network. Then you are given an ID. &lt;br /&gt;
&lt;br /&gt;
When searching, each client acts as a small server and is given responsibility for certain keywords or sources. This adds to the complexity of finding sources, as you no longer have a central server to ask, but instead will have to propagate the query through the network.&lt;br /&gt;
&lt;br /&gt;
Kademlia is supported in aMule since the 2.1.0 version.&lt;br /&gt;
&lt;br /&gt;
== Is Kademlia the same as Overnet? ==&lt;br /&gt;
&lt;br /&gt;
Short and clear: No. Overnet is the natural serverless evolution of the eDonkey software, while Kademlia is the natural serverless evolution of *Mule clients. Both are based on the original [[Kademlia]] algorithm but have been applied in different ways and therefore are incompatible. So, it's the same philosophy, but different rules. To learn about how Overnet works, refer to http://www.edonkey2000.com/documentation/how_on.html but, keep in mind, Overnet's development is closed until it reaches version 1.0, while Kademlia's development is completly open from the very beginning.&lt;br /&gt;
&lt;br /&gt;
== What is a chunk? ==&lt;br /&gt;
&lt;br /&gt;
In the ED2K protocol, to avoid sharing corrupt files, each file is divided into various parts, which are known as ''chunks'', and then each chunk is hashed (read below to know what a [[FAQ_eD2k-Kademlia#What_is_a_hash?|hash]] is). Each chunk is 9.28MB in size, so a 15MB file will be divided into two chunks (9.28MB + 5.72MB), a 315KB file will be a single chunk and a 100MB file will be divided into 11 chunks (10x9.28MB + 7.2MB).&lt;br /&gt;
&lt;br /&gt;
== What is a hash? ==&lt;br /&gt;
&lt;br /&gt;
Dividing each file into chunks (see [[FAQ_eD2k-Kademlia#What_is_a_chunk?|What is a chunk?]]) will avoid the problem of downloading a whole corrupted file since only the corrupted chunk will have to be downloaded again, but a method to identify corrupted chunks is needed. This is done by using MD4 hashes.&lt;br /&gt;
&lt;br /&gt;
A [[MD4 hash]] is a unique value each chunk is given and is the result of a mathematical operation on every single bit on the chunk. This means that modifying a single bit in a chunk would result in a completely different hash. That means that the [[client]] needs to verify the integrity of each part of a file as it is downloaded. &lt;br /&gt;
&lt;br /&gt;
Not only are the chunks hashed but also, in order to get a file-hash, all chunks's hashes are concatenated one after the other in their file order (that is: chunk1's_hash+chunk2's_hash+chunk3's_hash+...) and the resulting string is hashed. This way, each file on the ED2K network has a unique identifier. The file hash isn't taken from hashing the whole file, but from hashing the value of the chunk's hashes.&lt;br /&gt;
&lt;br /&gt;
In reality, you need both the hash of a file and its size. These pieces of information is embedded in the ED2k URLs found in many places.&lt;br /&gt;
&lt;br /&gt;
Take this for example:&lt;br /&gt;
&lt;br /&gt;
ed2k://|file|eMule0.42f-Sources.zip|2407949|CC8C3B104AD58678F69858F1F9B736E9|/ &lt;br /&gt;
&lt;br /&gt;
The interesting parts are the fifth part, &amp;quot;2407949&amp;quot;, which is the size of the file in bytes and the last part, &amp;quot;CC8C3B104AD58678F69858F1F9B736E9&amp;quot;, which is the hash itself, stored as hex-decimals, 32 letters long.&lt;br /&gt;
&lt;br /&gt;
The filename itself is irrelevant in the process of identifying the file.&lt;br /&gt;
&lt;br /&gt;
== Why after searching, some files which are the same appear as a different file in the results, although they even have the same name? ==&lt;br /&gt;
&lt;br /&gt;
If you understood &amp;quot;What is a hash&amp;quot; you will understand this quickly. When a search is started, the server tells the ED2K client the filename of the found file and the hash of the complete file for each file which matches the search. If two files, although being the same, have some difference in their content, no matter if it's big or small, the hash is different, so they are considered as a different file. That's also the reason why two file with different file name appear as the same file: on the ED2K network, the filename isn't important, the hash is.&lt;br /&gt;
&lt;br /&gt;
== What is LowID and HighID? ==&lt;br /&gt;
&lt;br /&gt;
Each client is assigned an ID (Identification) number which is unique and will distinguish the client from all other clients on the server. If this ID is below 16777216 (16 million) then you have a LowID and anything over is a HighID. Whether your client receives a high or low ID will depend on your client and whether or not the Client TCP port is open. Client TCP Port is an customisable option located in Preferences -&amp;gt; Connection. The default port is 4662 which is fine. If you understand [[FAQ_ed2k#What_is_ED2K?|what ED2K is]], odds are you'll understand the chances that clients with LowIDs may be unable to connect to other clients with LowIDs which reduces transfer rates significantly. This is the reason why having port 4662 TCP (or the one set in Preferences) is so important. Some of the larger servers refuse clients with LowIDs and disallow connections since LowID clients have data transfered through the server, rather than directly from the other client, which in turn adds more overhead for the server.&lt;br /&gt;
&lt;br /&gt;
For clients with a HighID, their ID is the result of a mathematical operation with their IP which corresponds to A + 256*B + 256*256*C + 256*256*256*D, where the IP is A.B.C.D. Keep in mind that this ID has identification purposes as well. Apart from having an ID over or under 16777216, it does not matter if the ID is bigger or smaller. This means a client with an ID of 50000000 isn't any better than a client with an ID of 49999999. The only exception is at times servers are either incorrectly configured or are very busy and issue LowIDs to clients even though port 4662 TCP is open. These are rare exceptions but it can happen sometimes.&lt;br /&gt;
&lt;br /&gt;
If you're unsure about having proper port settings, you can test your ports [http://www.amule.org/testport.php here].&lt;br /&gt;
&lt;br /&gt;
== Which ports do I have to configure in a firewall or router to run aMule? ==&lt;br /&gt;
&lt;br /&gt;
One has to distinguish between incoming and outgoing connections. Normally, all ports of a router are open for sending data (outgoing connection).&lt;br /&gt;
&lt;br /&gt;
So, in this normal case, You only have to configure the ports for ''incoming'' connections:&lt;br /&gt;
&lt;br /&gt;
aMule works even with no specific ports opened, but you won't get a HighID in this case. As mentioned above, to be given a HighID, port 4662 TCP (or the one set in the Preferences) must be listening (i.e. opened in your firewall and forwarded in your router).&lt;br /&gt;
&lt;br /&gt;
Apart from that port, to have an optimal ED2K experience, two more port should be enabled for listening as well: UDP ports 4672 and 4665 (that is, TCP_PORT+3) (both can be changed to any other number in the Preferences).&lt;br /&gt;
&lt;br /&gt;
If you are using Kad and your router is doing NAT (Network Address Translation),   you should prevent your router from remapping the port of outgoing UDP port 4672 packets. This might help if you have a high ID but Kad status is 'firewalled'.&lt;br /&gt;
&lt;br /&gt;
== What does each port do? ==&lt;br /&gt;
&lt;br /&gt;
Well, since most ports can be configured to be set to any other number, the defaults will be listed. The traffic direction is from client perspective (you):&lt;br /&gt;
*4661 TCP (outgoing): Port, on which a server listens for connection (defined by server).&lt;br /&gt;
*4662 TCP (outgoing and incoming): Client to client transfers.&lt;br /&gt;
*4665 UDP (outgoing): Used for global server searches and global source queries. This is always Client TCP port + 3&lt;br /&gt;
*4672 UDP (outgoing and incoming): Extended eMule protocol, Queue Rating, File Reask Ping&lt;br /&gt;
*4711 TCP: WebServer listening port.&lt;br /&gt;
*4712 TCP: External Connection port. Used to communicate aMule with other applications such as aMule WebServer or aMuleCMD.&lt;br /&gt;
== Are there any limitations on the ED2K network? ==&lt;br /&gt;
&lt;br /&gt;
Not much, but yes, there are: two natural limits and a &amp;quot;forced&amp;quot; limitation. The two natural limits have already been mentioned before. First, the issues on LowID users (their transfers involve data through the server and two LowID clients can't share between them). The second, although ED2K is a p2p protocol, it needs servers to establish the p2p connection. This has lots of problems relating to bottlenecks, privacy and scalability (if one single server is disconnected, a big part of the network is dosconnected with it). This latter one is solved in the Kademlia protocol.&lt;br /&gt;
&lt;br /&gt;
About the &amp;quot;forced&amp;quot; limitation, it's only a limit to make sure that clients share, so that the ED2K network will not disappear: clients which have an upload limit of X KBps, where X is between 0 and 3.99 (both included) can download at a maximum of X*3 KBps. Clients which have an upload limit of Y KBps, where Y is between 4 and 9.99 (both included) can download at a maximum of Y*4 KBps. Clients with an upload limit of 10KBps or more have no downloading limitations. This restriction is set in the client application so it could be by-passed by hacking the code, but that would probably result in being banned from the servers you connect to.&lt;br /&gt;
&lt;br /&gt;
Also, any client is forced to allow at least three upload slots, so it's not possible to allow more than upload_limit/3 KBps per slot.&lt;br /&gt;
&lt;br /&gt;
There is one last limit: Maximum file size is exactly 256GB (274877906944 bytes). Older limit (up to eMule 0.46 and aMule 2.1.*) was slightly under 4GB aproximately (exactly 4294967295 bytes, although aMule would only support files up to 4290048000 bytes).&lt;br /&gt;
&lt;br /&gt;
Additionally, this is not an eD2k limitation but a server limitation, servers will only send 300 results for your searches, so don't expect any more results.&lt;br /&gt;
&lt;br /&gt;
And on the clients side, filenames are usually limited to 161 [[character]]s.&lt;br /&gt;
&lt;br /&gt;
== Are there any limitations on the Kademlia network? ==&lt;br /&gt;
&lt;br /&gt;
*As it is a network derived from the ed2k network and, therefore, has to maintain compatibility when it comes to identify files uniquely, the 256GB maximum file size limit exisits in the Kademlia network too.&lt;br /&gt;
*Same happens with the 161 characters limit.&lt;br /&gt;
&lt;br /&gt;
== In search window, what filter stands for which filetype? ==&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the filters in the search window don't depend on the file type, but on the extensions of the filenames, in the following way:&lt;br /&gt;
*'''Archive:''' ''.ace .arj .rar .tar.bz2 .tar.gz .zip .Z''&lt;br /&gt;
*'''Audio:''' ''.aac .ape .au .mp2 .mp3 .mp4 .mpc .ogg .wav .wma''&lt;br /&gt;
*'''CDImage:''' ''.bin .ccd .cue .img .iso .nrg .sub''&lt;br /&gt;
*'''Picture:''' ''.bmp .gif .jpeg .jpg .png .tif''&lt;br /&gt;
*'''Program:''' ''.com .exe''&lt;br /&gt;
*'''Video:''' ''.avi .divx .mov .mpeg .mpg .ogg .ram .rm .vivo .vob''&lt;br /&gt;
&lt;br /&gt;
So, a movie file that has the name &amp;quot;Birthday.zip&amp;quot; will appear in the Archive filter, but not in the Video filter.&lt;br /&gt;
&lt;br /&gt;
== What is a source? ==&lt;br /&gt;
&lt;br /&gt;
A source is a client which is sharing some chunk in some file you have in your downloading queue which you still have not completed. Obviously, the more sources you can get for a given file, the more possibilities you have to download the file and the quicker you'll download it. Keep in mind that there's a difference between &amp;quot;sources&amp;quot; and &amp;quot;available sources&amp;quot; if you're on LowID, since &amp;quot;sources&amp;quot;s stands for clients sharing a chunk or file you still haven't completed, while &amp;quot;available sources&amp;quot; stands for clients sharing a chunk or file you still haven't completed and from who you can download (that is, a source who is on HighID).&lt;br /&gt;
&lt;br /&gt;
== What is all this talk about credits, ratings and scoring about? ==&lt;br /&gt;
&lt;br /&gt;
All three concepts have to do with the way in which the ED2K network establishes the uploading queues preferences.&lt;br /&gt;
&lt;br /&gt;
The score is the most important value: the client with the higher score will be the next client which you'll provide a slot to. The way in the score value is set is this: score = rate x time_waiting_in_seconds / 100&lt;br /&gt;
So, to understand this, we must known what rate is.&lt;br /&gt;
&lt;br /&gt;
Rate can be understood as an objective preference. This is, the preference which a client is given without caring how much time it's been waiting. When a client is added to the uploading queue, it gets a rate of 100. This value is modified following according to this:&lt;br /&gt;
&lt;br /&gt;
According to the amount of credits, the rate will be multiplied by 1x to 10x.&lt;br /&gt;
Depending on the file priority, it will be multiplied by 0.2x to 1.8x (Release 1.8x, High 0.9x, Normal 0.7x, Low 0.6x, Very Low: 0.2x).&amp;lt;br&amp;gt;&lt;br /&gt;
Users on specific old clients which load too much the network traffic will get penalized by multiplying their rate by 0.5x.&lt;br /&gt;
&lt;br /&gt;
Banned clients will instantly get no rate (that is, their rate will by multiplied by 0).&lt;br /&gt;
&lt;br /&gt;
This multiplying values are known as &amp;quot;modifiers&amp;quot;. Clients with a modifier value strictly bigger than 1 will be marked as yellow in the icon.&lt;br /&gt;
&lt;br /&gt;
So we only have credits left to known. Credits are a prize you get for uploading files to a specific user. Credits are exchanged between two specific clients, they are not global, so your own credits can't be viewed, although you can know the credits any other user has on you (that is, the credits you owe that client). Since credits are managed by the uploading client, you might be uploading to some client with no credits support, so you will gain no credits on him, although that client will actually get credits on you if it uploads to you, since you do have credits support. This credits are stored in clients.met file.&lt;br /&gt;
&lt;br /&gt;
The credits modifier used by rate is the lower between these two: &amp;lt;br&amp;gt;(upload_total x 2)/download_total or sqrt(upload_total+2) where both upload_total and download_total are measured in MBs.&lt;br /&gt;
&lt;br /&gt;
If the result is lower than 1, then it is set to 1 and if it is bigger than 10, it is set to 10. In addition, if the uploaded total is less than 1MB, the modifier is set to 1 and if the downloaded total is equal to 0, then the modifier is set to 10.&lt;br /&gt;
&lt;br /&gt;
==  What is a slot? ==&lt;br /&gt;
&lt;br /&gt;
When uploading files, your upload bandwidth (which may vary depending on the upload limit or the natural connection-type upload limit) will be divided into slots. So, each slot is an amount of KBps which will be assigned to each client who tries to download from you.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Talk:HowTo_Compile_In_Debian/Ubuntu</id>
		<title>Talk:HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Talk:HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2006-03-28T16:26:34Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Problem with wxWidgets and GTK2=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To successully compile aMule in my Sarge I had to create a link like this:&lt;br /&gt;
&lt;br /&gt;
''ln -s /usr/include/crypto++ /usr/include/cryptopp''&lt;br /&gt;
&lt;br /&gt;
because the make process searchs for config.h in cryptopp directory, not in crypto++.&lt;br /&gt;
&lt;br /&gt;
'''They might have hanged the pathnames again. Thanks for the info :-)&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''The problem is that both crypto++ and Debian's crypto++ package have been changing the pathnames in order to suit, and this has become a mess. hehehe&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''Anyway, since next [[aMule]] release (it is currenly already implemented into aMule CVS) crypto++ will no longer be needed since it's necessary functions have been coded into aMule.&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''Again, thanks for the info!'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
28/09/04 - stk : A small error in step 8 : remplace &amp;quot;ls -s /usr/include/crypto++ /usr/include/cryptopp&amp;quot; by &amp;quot;ln -s /usr/include/crypto++ /usr/include/cryptopp&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
'''Thanx a lot! Fixed.'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
other info : In my Sarge, with libcrypto++5.1_5.1-5_i386.deb and libcrypto++-dev_5.1-5_i386.deb package, I have an error : ld cannot find lcryptopp.. &lt;br /&gt;
&lt;br /&gt;
so, I have made a link with this command : &amp;quot;ln -s /usr/lib/libcrypto++5.1.so /usr/lib/libcryptopp.so&amp;quot; and run ldconfig -&amp;gt; it work !&lt;br /&gt;
&lt;br /&gt;
'''I completly forgot to answer to you :-( i added your comment to the howto some long time ago. thanks :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
jeremie :&lt;br /&gt;
&lt;br /&gt;
Installing 200rc6 is a piece of cake with your advices. (sarge on 20041019)&lt;br /&gt;
&lt;br /&gt;
No more fuss about crypto++ and so on, just apt-get the packages, then configure  / make / make install.&lt;br /&gt;
&lt;br /&gt;
It takes 5 minutes.&lt;br /&gt;
&lt;br /&gt;
Thanks for the names of the dependancies.&lt;br /&gt;
&lt;br /&gt;
'''Very much thanks for your words! Makes me feel batter :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Works just fine in Ubuntu&lt;br /&gt;
&lt;br /&gt;
I just wanted to let you know that this HowTo also applies just fine to &amp;quot;HowTo Compile in Unbuntu&amp;quot;. Sure, anyone would have probably guessed that, but I can confirm it now... :-)&lt;br /&gt;
&lt;br /&gt;
'''Hey! Thanx! THat is indeed an important note since Ubunto is being so successful and popular lately. I'll try to fix it somewhere to link ubunto users there too :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi, I had problems with the ''libcurl2-dev''. Is ''libcurl3-dev'' the actual package?&lt;br /&gt;
&lt;br /&gt;
'''Yes, you can use libcurl3-dev without any problems. In fact, thatnks for the note, i just changed it to point to liburl3 in the guide ;-)'''&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
17/05/2005&lt;br /&gt;
Hi, I don't want compile amule :-), so I add ''deb http://www.vollstreckernet.de/debian/ testing amule'' and &lt;br /&gt;
 ''deb http://www.vollstreckernet.de/debian/ testing wx'' in my  /etc/apt/sources.list. But ''apt-get update &amp;amp;&amp;amp; apt-get install amule'' don't work... I find an error in ''http://www.vollstreckernet.de/debian/dists/testing/amule/binary-i386/Packages.gz&lt;br /&gt;
''. In fact, Packages.gz is broken!!!&lt;br /&gt;
&lt;br /&gt;
'''Please contact Vollstrecker in http://forum.amule.org or mail him. He is the deb packager for CVS builds. Thanks :-)'''&lt;br /&gt;
---------------&lt;br /&gt;
22/05/05&lt;br /&gt;
When I run (Debian Sarge and Amule 2.0.1) &lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.1/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
I get (after compilation process): &lt;br /&gt;
&lt;br /&gt;
 #bash: make: command not found&lt;br /&gt;
&lt;br /&gt;
And I cannot execute make install.... &lt;br /&gt;
&lt;br /&gt;
I warn you that I did the compilation following absolutely all the steps that this page says: http://www.amule.org/wiki/index.php/HowTo_Compile_In_Debian&lt;br /&gt;
??????&lt;br /&gt;
&lt;br /&gt;
Thanks in advance&lt;br /&gt;
&lt;br /&gt;
Richard&lt;br /&gt;
&lt;br /&gt;
'''Heh, well, you're right, I didn't think anyone would not have ''make'' installed ;-)'''&lt;br /&gt;
&lt;br /&gt;
'''Ok, so just ''apt-get install make'''''&lt;br /&gt;
&lt;br /&gt;
'''Now follow the article again, it will work now (I guess. If it still doesn't, please ask again :-))'''&lt;br /&gt;
&lt;br /&gt;
Mmmmmmmm.... what ganso I am...  You were right, I had not installed make (installed Sarge with manual selection of packages... and... you know, are a few and one gets dizzy...).&lt;br /&gt;
But now I request another aid to you that will serve, I suppose, for many users.  Tell me exactly how to share in a same PC downloads of Win's emule in  Linux's amule and vice versa... &lt;br /&gt;
Because I have put in a partition FAT32 the directories &amp;quot;incoming&amp;quot; and &amp;quot;temp&amp;quot; of Emule and I have mounted those same directories in Sarge (those directories are NOT mounted in the default folder of Amule, but in &amp;quot;/&amp;quot; (like this: /amule/incoming/temp).&lt;br /&gt;
But when I watch in &amp;quot;Traffic&amp;quot; of Amule does not see any of downloads that are in the directories mounted from FAT32....&lt;br /&gt;
Regards &lt;br /&gt;
Richard&lt;br /&gt;
&lt;br /&gt;
'''Well, there's no trick. Just make sure aMule -&amp;gt; Preferences -&amp;gt; Directories points to the right directories ;-) Also take a look at [[FAQ_aMule#Can_I_use_eMule's_files_and_settings_and_vice-versa?]]'''&lt;br /&gt;
&lt;br /&gt;
'''Please refer to http://forum.amule.org for non Debian-article-related stuff ;-) So any further questions regarding using your eMule files, please post them at the forums :-)'''&lt;br /&gt;
&lt;br /&gt;
'''Greets.'''&lt;br /&gt;
&lt;br /&gt;
== Problem with wxWidgets and GTK2 ==&lt;br /&gt;
&lt;br /&gt;
When i configure amule 2.0.3 in my sarge&lt;br /&gt;
i see this line&lt;br /&gt;
checking if wxWidgets was linked with GTK2... no&lt;br /&gt;
&lt;br /&gt;
And when configure script finish i watch that&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Configure script has finished system check.&lt;br /&gt;
&lt;br /&gt;
  Configured aMule 2.0.3 for 'i686-pc-linux'.&lt;br /&gt;
&lt;br /&gt;
  aMule enabled options:&lt;br /&gt;
&lt;br /&gt;
  **** aMule Core ****&lt;br /&gt;
  Prefix where aMule should be installed?                    /usr/local&lt;br /&gt;
  Should aMule be compiled with i18n support?                yes&lt;br /&gt;
  Should aMule be compiled in debug mode?                    yes&lt;br /&gt;
  Should aMule be compiled with profiling?                   no&lt;br /&gt;
  Should aMule be compiled with optimizations?               no&lt;br /&gt;
  Should aMule be compiled with taskbar icon support?        yes&lt;br /&gt;
  Should aMule be compiled with old GTK taskbar icon?        yes&lt;br /&gt;
  Should aMule be compiled with UTF-8 taskbar icon support?  no&lt;br /&gt;
  Should aMule be linked against patched gsocket?            yes&lt;br /&gt;
  Should aMule monolithic application be built?              yes&lt;br /&gt;
  Should aMule daemon version be built?                      no&lt;br /&gt;
  Should aMule remote gui be built? (EXPERIMENTAL)           no&lt;br /&gt;
  Crypto++ library/headers style?                            embedded&lt;br /&gt;
&lt;br /&gt;
  **** aMule TextClient ****&lt;br /&gt;
  Should aMule Command Line Client be built?                 no&lt;br /&gt;
  Should aMule GUI Client be built?                          no&lt;br /&gt;
&lt;br /&gt;
  **** aMule WebServer ****&lt;br /&gt;
  Should aMule WebServer be built?                           no&lt;br /&gt;
  Should aMule WebServer GUI be built?                       no&lt;br /&gt;
&lt;br /&gt;
  **** aMule ED2K Links Handler ****&lt;br /&gt;
  Should aMule ED2K Links Handler be built?                  yes&lt;br /&gt;
&lt;br /&gt;
  **** aMuleLinkCreator ****&lt;br /&gt;
  Should aMuleLinkCreator GUI version (alc) be built?        no&lt;br /&gt;
  Should aMuleLinkCreator for console (alcc) be built?       no&lt;br /&gt;
&lt;br /&gt;
  **** aMule Statistics ****&lt;br /&gt;
  Should C aMule Statistics (CAS) be built?                  no&lt;br /&gt;
  Should aMule GUI Statistics (wxCas) be built?              no&lt;br /&gt;
&lt;br /&gt;
  **** General Libraries and Tools ****&lt;br /&gt;
  Should ccache support be enabled?                          no&lt;br /&gt;
  Libraries aMule will use to build:&lt;br /&gt;
                                       wxWidgets             2.4.2&lt;br /&gt;
                                       GTK                   Not detected&lt;br /&gt;
                                       crypto++              embedded&lt;br /&gt;
                                       zlib                  1.2.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING! gd-lib &amp;gt;= 2.0.0, or a functional gd.h (from gd-devel) not found.&lt;br /&gt;
 amuleweb will be compiled but file download progress bar images will NOT be generated.&lt;br /&gt;
 See the above error on gd check for solutions.&lt;br /&gt;
&amp;quot;&lt;br /&gt;
How can I fix it?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''There's nothing to fix. Just run ''make'' now. It didn't detect the GTK version but that doesn't prevent it from compiling as long as it detected wxGTK correctly.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi, Im getting the same output as the guy above and when making it complains about an undeclared definition. Ive done my homework trying to find in google in what file this definition is, without any luck&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libwx_gtk-2.4.so, may conflict with libstdc++.so.6&lt;br /&gt;
amule-ExternalConn.o: En la función `pair':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:85: referencia a `CValueMap::CValueMap(CValueMap const&amp;amp;)' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `~pair':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:69: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `pair':&lt;br /&gt;
&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:69: referencia a `CValueMap::CValueMap(CValueMap const&amp;amp;)' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `__gnu_cxx::__mt_alloc_base&amp;lt;CMD4Hash&amp;gt;::destroy(CMD4Hash*)':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/ext/mt_allocator.h:614: referencia a `CMD4Hash::~CMD4Hash()' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `std::map&amp;lt;void*, CValueMap, std::less&amp;lt;void*&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;void* const, CValueMap&amp;gt; &amp;gt; &amp;gt;::operator[](void* const&amp;amp;)':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_map.h:339: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_map.h:339: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
make[3]: *** [amule] Error 1&lt;br /&gt;
make[3]: Leaving directory `/usr/src/aMule-2.0.3/src'&lt;br /&gt;
make[2]: *** [all-recursive] Error 1&lt;br /&gt;
make[2]: Leaving directory `/usr/src/aMule-2.0.3/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/usr/src/aMule-2.0.3'&lt;br /&gt;
make: *** [all] Error 2&lt;br /&gt;
&lt;br /&gt;
&amp;quot;referencia a&amp;quot; &amp;amp;&amp;amp; &amp;quot;sin definir&amp;quot; means &amp;quot;undefined reference to&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
'''A mi me parece que el error viene por ''/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libwx_gtk-2.4.so, may conflict with libstdc++.so.6''. Parece que algo está mal en tus librerias estándar de C++. Prueba a reinstalar gcc y g++ y asegurate de que no los tienes doblemente instaladas...'''&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
To successully compile aMule in my Sarge I had to create a link like this:&lt;br /&gt;
&lt;br /&gt;
''ln -s /usr/include/crypto++ /usr/include/cryptopp''&lt;br /&gt;
&lt;br /&gt;
because the make process searchs for config.h in cryptopp directory, not in crypto++.&lt;br /&gt;
&lt;br /&gt;
'''They might have hanged the pathnames again. Thanks for the info :-)&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''The problem is that both crypto++ and Debian's crypto++ package have been changing the pathnames in order to suit, and this has become a mess. hehehe&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''Anyway, since next [[aMule]] release (it is currenly already implemented into aMule CVS) crypto++ will no longer be needed since it's necessary functions have been coded into aMule.&amp;lt;br&amp;gt;'''&lt;br /&gt;
'''Again, thanks for the info!'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
28/09/04 - stk : A small error in step 8 : remplace &amp;quot;ls -s /usr/include/crypto++ /usr/include/cryptopp&amp;quot; by &amp;quot;ln -s /usr/include/crypto++ /usr/include/cryptopp&amp;quot; ;)&lt;br /&gt;
&lt;br /&gt;
'''Thanx a lot! Fixed.'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
other info : In my Sarge, with libcrypto++5.1_5.1-5_i386.deb and libcrypto++-dev_5.1-5_i386.deb package, I have an error : ld cannot find lcryptopp.. &lt;br /&gt;
&lt;br /&gt;
so, I have made a link with this command : &amp;quot;ln -s /usr/lib/libcrypto++5.1.so /usr/lib/libcryptopp.so&amp;quot; and run ldconfig -&amp;gt; it work !&lt;br /&gt;
&lt;br /&gt;
'''I completly forgot to answer to you :-( i added your comment to the howto some long time ago. thanks :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
jeremie :&lt;br /&gt;
&lt;br /&gt;
Installing 200rc6 is a piece of cake with your advices. (sarge on 20041019)&lt;br /&gt;
&lt;br /&gt;
No more fuss about crypto++ and so on, just apt-get the packages, then configure  / make / make install.&lt;br /&gt;
&lt;br /&gt;
It takes 5 minutes.&lt;br /&gt;
&lt;br /&gt;
Thanks for the names of the dependancies.&lt;br /&gt;
&lt;br /&gt;
'''Very much thanks for your words! Makes me feel batter :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Works just fine in Ubuntu&lt;br /&gt;
&lt;br /&gt;
I just wanted to let you know that this HowTo also applies just fine to &amp;quot;HowTo Compile in Unbuntu&amp;quot;. Sure, anyone would have probably guessed that, but I can confirm it now... :-)&lt;br /&gt;
&lt;br /&gt;
'''Hey! Thanx! THat is indeed an important note since Ubunto is being so successful and popular lately. I'll try to fix it somewhere to link ubunto users there too :)'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi, I had problems with the ''libcurl2-dev''. Is ''libcurl3-dev'' the actual package?&lt;br /&gt;
&lt;br /&gt;
'''Yes, you can use libcurl3-dev without any problems. In fact, thatnks for the note, i just changed it to point to liburl3 in the guide ;-)'''&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
17/05/2005&lt;br /&gt;
Hi, I don't want compile amule :-), so I add ''deb http://www.vollstreckernet.de/debian/ testing amule'' and &lt;br /&gt;
 ''deb http://www.vollstreckernet.de/debian/ testing wx'' in my  /etc/apt/sources.list. But ''apt-get update &amp;amp;&amp;amp; apt-get install amule'' don't work... I find an error in ''http://www.vollstreckernet.de/debian/dists/testing/amule/binary-i386/Packages.gz&lt;br /&gt;
''. In fact, Packages.gz is broken!!!&lt;br /&gt;
&lt;br /&gt;
'''Please contact Vollstrecker in http://forum.amule.org or mail him. He is the deb packager for CVS builds. Thanks :-)'''&lt;br /&gt;
---------------&lt;br /&gt;
22/05/05&lt;br /&gt;
When I run (Debian Sarge and Amule 2.0.1) &lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.1/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
I get (after compilation process): &lt;br /&gt;
&lt;br /&gt;
 #bash: make: command not found&lt;br /&gt;
&lt;br /&gt;
And I cannot execute make install.... &lt;br /&gt;
&lt;br /&gt;
I warn you that I did the compilation following absolutely all the steps that this page says: http://www.amule.org/wiki/index.php/HowTo_Compile_In_Debian&lt;br /&gt;
??????&lt;br /&gt;
&lt;br /&gt;
Thanks in advance&lt;br /&gt;
&lt;br /&gt;
Richard&lt;br /&gt;
&lt;br /&gt;
'''Heh, well, you're right, I didn't think anyone would not have ''make'' installed ;-)'''&lt;br /&gt;
&lt;br /&gt;
'''Ok, so just ''apt-get install make'''''&lt;br /&gt;
&lt;br /&gt;
'''Now follow the article again, it will work now (I guess. If it still doesn't, please ask again :-))'''&lt;br /&gt;
&lt;br /&gt;
Mmmmmmmm.... what ganso I am...  You were right, I had not installed make (installed Sarge with manual selection of packages... and... you know, are a few and one gets dizzy...).&lt;br /&gt;
But now I request another aid to you that will serve, I suppose, for many users.  Tell me exactly how to share in a same PC downloads of Win's emule in  Linux's amule and vice versa... &lt;br /&gt;
Because I have put in a partition FAT32 the directories &amp;quot;incoming&amp;quot; and &amp;quot;temp&amp;quot; of Emule and I have mounted those same directories in Sarge (those directories are NOT mounted in the default folder of Amule, but in &amp;quot;/&amp;quot; (like this: /amule/incoming/temp).&lt;br /&gt;
But when I watch in &amp;quot;Traffic&amp;quot; of Amule does not see any of downloads that are in the directories mounted from FAT32....&lt;br /&gt;
Regards &lt;br /&gt;
Richard&lt;br /&gt;
&lt;br /&gt;
'''Well, there's no trick. Just make sure aMule -&amp;gt; Preferences -&amp;gt; Directories points to the right directories ;-) Also take a look at [[FAQ_aMule#Can_I_use_eMule's_files_and_settings_and_vice-versa?]]'''&lt;br /&gt;
&lt;br /&gt;
'''Please refer to http://forum.amule.org for non Debian-article-related stuff ;-) So any further questions regarding using your eMule files, please post them at the forums :-)'''&lt;br /&gt;
&lt;br /&gt;
'''Greets.'''&lt;br /&gt;
&lt;br /&gt;
== Problem with wxWidgets and GTK2 ==&lt;br /&gt;
&lt;br /&gt;
When i configure amule 2.0.3 in my sarge&lt;br /&gt;
i see this line&lt;br /&gt;
checking if wxWidgets was linked with GTK2... no&lt;br /&gt;
&lt;br /&gt;
And when configure script finish i watch that&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Configure script has finished system check.&lt;br /&gt;
&lt;br /&gt;
  Configured aMule 2.0.3 for 'i686-pc-linux'.&lt;br /&gt;
&lt;br /&gt;
  aMule enabled options:&lt;br /&gt;
&lt;br /&gt;
  **** aMule Core ****&lt;br /&gt;
  Prefix where aMule should be installed?                    /usr/local&lt;br /&gt;
  Should aMule be compiled with i18n support?                yes&lt;br /&gt;
  Should aMule be compiled in debug mode?                    yes&lt;br /&gt;
  Should aMule be compiled with profiling?                   no&lt;br /&gt;
  Should aMule be compiled with optimizations?               no&lt;br /&gt;
  Should aMule be compiled with taskbar icon support?        yes&lt;br /&gt;
  Should aMule be compiled with old GTK taskbar icon?        yes&lt;br /&gt;
  Should aMule be compiled with UTF-8 taskbar icon support?  no&lt;br /&gt;
  Should aMule be linked against patched gsocket?            yes&lt;br /&gt;
  Should aMule monolithic application be built?              yes&lt;br /&gt;
  Should aMule daemon version be built?                      no&lt;br /&gt;
  Should aMule remote gui be built? (EXPERIMENTAL)           no&lt;br /&gt;
  Crypto++ library/headers style?                            embedded&lt;br /&gt;
&lt;br /&gt;
  **** aMule TextClient ****&lt;br /&gt;
  Should aMule Command Line Client be built?                 no&lt;br /&gt;
  Should aMule GUI Client be built?                          no&lt;br /&gt;
&lt;br /&gt;
  **** aMule WebServer ****&lt;br /&gt;
  Should aMule WebServer be built?                           no&lt;br /&gt;
  Should aMule WebServer GUI be built?                       no&lt;br /&gt;
&lt;br /&gt;
  **** aMule ED2K Links Handler ****&lt;br /&gt;
  Should aMule ED2K Links Handler be built?                  yes&lt;br /&gt;
&lt;br /&gt;
  **** aMuleLinkCreator ****&lt;br /&gt;
  Should aMuleLinkCreator GUI version (alc) be built?        no&lt;br /&gt;
  Should aMuleLinkCreator for console (alcc) be built?       no&lt;br /&gt;
&lt;br /&gt;
  **** aMule Statistics ****&lt;br /&gt;
  Should C aMule Statistics (CAS) be built?                  no&lt;br /&gt;
  Should aMule GUI Statistics (wxCas) be built?              no&lt;br /&gt;
&lt;br /&gt;
  **** General Libraries and Tools ****&lt;br /&gt;
  Should ccache support be enabled?                          no&lt;br /&gt;
  Libraries aMule will use to build:&lt;br /&gt;
                                       wxWidgets             2.4.2&lt;br /&gt;
                                       GTK                   Not detected&lt;br /&gt;
                                       crypto++              embedded&lt;br /&gt;
                                       zlib                  1.2.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING! gd-lib &amp;gt;= 2.0.0, or a functional gd.h (from gd-devel) not found.&lt;br /&gt;
 amuleweb will be compiled but file download progress bar images will NOT be generated.&lt;br /&gt;
 See the above error on gd check for solutions.&lt;br /&gt;
&amp;quot;&lt;br /&gt;
How can I fix it?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''There's nothing to fix. Just run ''make'' now. It didn't detect the GTK version but that doesn't prevent it from compiling as long as it detected wxGTK correctly.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi, Im getting the same output as the guy above and when making it complains about an undeclared definition. Ive done my homework trying to find in google in what file this definition is, without any luck&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libwx_gtk-2.4.so, may conflict with libstdc++.so.6&lt;br /&gt;
amule-ExternalConn.o: En la función `pair':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:85: referencia a `CValueMap::CValueMap(CValueMap const&amp;amp;)' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `~pair':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:69: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `pair':&lt;br /&gt;
&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_pair.h:69: referencia a `CValueMap::CValueMap(CValueMap const&amp;amp;)' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `__gnu_cxx::__mt_alloc_base&amp;lt;CMD4Hash&amp;gt;::destroy(CMD4Hash*)':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/ext/mt_allocator.h:614: referencia a `CMD4Hash::~CMD4Hash()' sin definir&lt;br /&gt;
amule-ExternalConn.o: En la función `std::map&amp;lt;void*, CValueMap, std::less&amp;lt;void*&amp;gt;, std::allocator&amp;lt;std::pair&amp;lt;void* const, CValueMap&amp;gt; &amp;gt; &amp;gt;::operator[](void* const&amp;amp;)':&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_map.h:339: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
/usr/lib/gcc/i486-linux-gnu/4.0.1/../../../../include/c++/4.0.1/bits/stl_map.h:339: referencia a `CValueMap::~CValueMap()'sin definir&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
make[3]: *** [amule] Error 1&lt;br /&gt;
make[3]: Leaving directory `/usr/src/aMule-2.0.3/src'&lt;br /&gt;
make[2]: *** [all-recursive] Error 1&lt;br /&gt;
make[2]: Leaving directory `/usr/src/aMule-2.0.3/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/usr/src/aMule-2.0.3'&lt;br /&gt;
make: *** [all] Error 2&lt;br /&gt;
&lt;br /&gt;
&amp;quot;referencia a&amp;quot; &amp;amp;&amp;amp; &amp;quot;sin definir&amp;quot; means &amp;quot;undefined reference to&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
'''A mi me parece que el error viene por ''/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libwx_gtk-2.4.so, may conflict with libstdc++.so.6''. Parece que algo está mal en tus librerias estándar de C++. Prueba a reinstalar gcc y g++ y asegurate de que no los tienes doblemente instaladas...'''&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
== Problem with ubuntu ==&lt;br /&gt;
&lt;br /&gt;
I have just installed amule with the &amp;quot;deb http://amule-debian.dyndns.org/ debian/&amp;quot; source but while i'm loading amule, I've got the following error message :&lt;br /&gt;
&lt;br /&gt;
amule: error while loading shared librairies : libbfd-2.15.so: cannot open shared object file&lt;br /&gt;
&lt;br /&gt;
I'm running the last stable version of ubuntu whith gnome.&lt;br /&gt;
&lt;br /&gt;
Thanks for help !!&amp;lt;br&amp;gt;&lt;br /&gt;
gallou&lt;br /&gt;
&lt;br /&gt;
'''just install  libbfd &amp;amp; libbfd-dev or binutils &amp;amp; binutils-dev'''&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
I have installed binutils-dev but I have still this problem.&lt;br /&gt;
I found the following file : /usr/lib/libbfd-2.16.1.so , is it a version problem ? &amp;lt;br&amp;gt;&lt;br /&gt;
gallou&lt;br /&gt;
&lt;br /&gt;
'''hi, yes.. the version is the problem. I can tell you more at the weekend as I have no time now. sorry.''&lt;br /&gt;
&lt;br /&gt;
''But you could look for some Ubuntu forum and ask the ppl there about aMule.''&lt;br /&gt;
&lt;br /&gt;
'''cheers,&lt;br /&gt;
'''deltaHF'''&lt;br /&gt;
&lt;br /&gt;
Fixed by linking libbdf new version with old version&amp;lt;br&amp;gt;&lt;br /&gt;
ln /usr/lib/libbdf-2.16.1.so /usr/lib/libbfd-2.15.so&lt;br /&gt;
&amp;lt;br&amp;gt;(maybe not a good idea but it's works without bugs actually !)&lt;br /&gt;
&amp;lt;br&amp;gt; gallou&lt;br /&gt;
&lt;br /&gt;
== undefined reference to CValueMap ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
I have the following errors while building amule2.0.1 (I dont want the latest version cause it needs wx2.6 which i dont want to install) :&lt;br /&gt;
&lt;br /&gt;
amule-ExternalConn.o: In function `Get_EC_Response_GetSharedFiles(CFileEncoderMap&amp;lt;CKnownFile, CKnownFile_Encoder, CSharedFileList&amp;gt;&amp;amp;, CObjTagMap&amp;amp;)':ExternalConn.cpp:(.text+0x40c6): undefined reference to `CValueMap::CValueMap(CValueMap const&amp;amp;)'&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
more &amp;quot;undefined reference to CValueMap...&amp;quot; follow the one I mention.&lt;br /&gt;
Theses errors occured after a g++ call.&lt;br /&gt;
&lt;br /&gt;
I didnt manage to locate the library needed... :(&lt;br /&gt;
&lt;br /&gt;
EDIT : It seems to be a g++-4.0 issue, fixed in 2.1.0&lt;br /&gt;
&lt;br /&gt;
== undefined reference to CValueMap ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
I have the following errors while building amule2.0.1 (I dont want the latest version cause it needs wx2.6 which i dont want to install) :&lt;br /&gt;
&lt;br /&gt;
amule-ExternalConn.o: In function `Get_EC_Response_GetSharedFiles(CFileEncoderMap&amp;lt;CKnownFile, CKnownFile_Encoder, CSharedFileList&amp;gt;&amp;amp;, CObjTagMap&amp;amp;)':ExternalConn.cpp:(.text+0x40c6): undefined reference to `CValueMap::CValueMap(CValueMap const&amp;amp;)'&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
more &amp;quot;undefined reference to CValueMap...&amp;quot; follow the one I mention.&lt;br /&gt;
Theses errors occured after a g++ call.&lt;br /&gt;
&lt;br /&gt;
I didnt manage to locate the library needed... :(&lt;br /&gt;
&lt;br /&gt;
EDIT : It seems to be a g++-4.0 issue, fixed in 2.1.0&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian-es</id>
		<title>HowTo Compile In Debian-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian-es"/>
				<updated>2006-01-11T14:04:16Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Versión de aMule CVS=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[HowTo_Compile_In_Debian|English]] | '''Español'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
COMO compilar [[aMule]] en [[Debian]] o [http://www.ubuntulinux.org Ubuntu] por ''[[User:Jacobo221|Jacobo221]]'' y los ayudantes [http://www.gnu.org GNU] [http://www.kernel.org Linux]&lt;br /&gt;
&lt;br /&gt;
Traducción por ''[[User:seath|T. Bernaschina]]''&lt;br /&gt;
&lt;br /&gt;
¡Gracias muy especiales a ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' y ''klando'' por sus pruebas!!&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Este COMO estará enfocado también en [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== ¿Está seguro de que quiere compilar? ==&lt;br /&gt;
&lt;br /&gt;
Si no, (que es bastante común) decida si quiere la versión estable de&lt;br /&gt;
[[aMule]] o la última versión del [[aMule CVS]].&lt;br /&gt;
&lt;br /&gt;
=== Versión estable de [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puede instalar la última versión estable de [[aMule]] a través de los [http://packages.debian.org deb]s, para esto tiene que añadir la siguiente línea en su archivo ''/etc/apt/sources.list'':&lt;br /&gt;
&lt;br /&gt;
 deb http://amule-debian.dyndns.org/ debian/&lt;br /&gt;
&lt;br /&gt;
Ahora ejecute &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Si al intentar instalar [[aMule]] aparece un mensaje de error quejandose por &amp;lt;code&amp;gt;libbfd-2.xx.so&amp;lt;/code&amp;gt;, solamente cambie a superusuario ''root'' y vaya a ''/usr/lib'' y haga &amp;lt;code&amp;gt;ln -s libbfd.so libbfd-2.xx.so&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTA:''' Esto de arriba no funcionó para mí, pero esto si: &amp;lt;code&amp;gt;ln -s libbfd-2.16.1.so libbfd-2.15.so&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Versión de [[aMule CVS]] ===&lt;br /&gt;
&lt;br /&gt;
Puede conseguir la última versión de [[aMule CVS]] a través de los debs, tiene que añadir la siguiente línea en su archivo ''/etc/apt/sources.list'':&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
Ahora ejecute ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
Puede que desee ver las otras utilidades disponibles para [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] estable'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amule-gui-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
*amule-utils (amule-console-utils &amp;amp; amule-gui-utils)&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, si cree que la [[Webserver|interfaz de Web]] del [[aMule]] es buena y desea tenerla también, ejecute la siguiente linea después de la de arriba:&lt;br /&gt;
&lt;br /&gt;
Para [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
Para [[aMule]] estable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
Si todavía desea compilar [[aMule]] en vez de instalar un binario, siga leyendo...&lt;br /&gt;
&lt;br /&gt;
==  Notas antes de comenzar ==&lt;br /&gt;
&lt;br /&gt;
'''Importante:''' Tenga en mente que este COMO fue hecho para aMule 2.0.0 o superior en [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
Este COMO está basado en la utilización de apt-get la herramienta de instalación de paquetes, lo que significa que tendrá que ser capaz de tener acceso de superusuario (root). También, apt-get requiere que las dependencias de paquetes esten perfectamente instaladas en el sistema. Si por lo general usa apt-get para para instalar cualquier aplicación, saltese esto y vaya a la siguiente sección. Si raras veces usa apt-get, pero en cambio, usa dpkg, puede;&lt;br /&gt;
&lt;br /&gt;
A) (Recomendado) Soluciona todos los problemas de dependencias en su sistema.&lt;br /&gt;
Esto puede ser hecho viendo la salida de &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; e instalando/quitando/actualizando los paquetes que esto menciona según se requieren. Esta opción es la recomendada ya que no sólo asegurará que su compilación de aMule será la más correcta, sino que también hará su sistema lo más estable posible y desde ahora será capaz de usar apt-get no sólo para hacer las instalaciones más fáciles, sino que también mejorarara su sistema.&lt;br /&gt;
&lt;br /&gt;
B) Forzar a apt-get para ignorar los problemas de dependencias usando -f o --fix-broken switches (solamente uno de estos, ya que son exactamente lo mismo, entonces podría ser, por ejemplo &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). Esta opción puede causar una instalación corrupta de algunos paquetes que pueden hacer que la aplicación no funcione. También tenga en mente que utilizar esto pone en marcha un sistema con problemas de dependencias y puede hacer que el sistema se rompa completamente si el paquete instalado es un paquete base (aunque no es el caso).&lt;br /&gt;
&lt;br /&gt;
C) Seguir estas instrucciones, pero, en vez de usar &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; donde foo es el paquete para instalar. Recuerde que los paquetes deben ya estar en el sistema cuando instale paquetes con dpkg. Acuérdese también de descargar cualquier paquete de &amp;quot;Depends (dependencias)&amp;quot; ya que seguramente será necesario para compilar [[aMule]] satisfactoriamente. Evite usar cualquiera de las siguientes opciones de dpkg: --force-all --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
Si por lo general instala aplicaciones desde los archivos fuente, lea deltaHF's [[Compilation_Installation|&amp;quot;Compilación de aMule / Como instalación&amp;quot;]]  ya que su sistema no podría conformar las dependencias del paquete del aMule de Debian aunque con &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; no muestre ningún error.&lt;br /&gt;
&lt;br /&gt;
== Lo más fácil: Preparación del sistema   ==&lt;br /&gt;
&lt;br /&gt;
Una vez que decidió usar apt-get, debe asegurarse que descargará las últimas versiones de los paquetes (el equipo de aMule ha descubierto fallas en algunos paquetes de deb que harían a aMule imposible de compilar sobre Debian sin compilar algunas otras bibliotecas también. Estas fallas han sido fijadas en paquetes de debian, entonces es muy importante estar seguro de tener los paquetes actualizados). Esto se logra haciendo:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Nota 1:''' Debe ser superusuario para hacer esto. Ingrese como superusuario o como &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; o use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; debe ser especificado en ambos comandos del apt-get, de esta forma:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; no es un comando base, puede que no esté instalado en su sistema, aunque lo más probable es que si. Esté enterado que siguiendo este Como enteramente como root puede traer algunos problemas más adelante, por ejemplo no poder suprimir ciertos archivos como usuario normal, entonces por favor use los privilegios de root cuando sea necesario.''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 2:''' Usuarios Woody (es decir, la gente pegada en el rama estable de Debian 3.0) no podrá instalar el wxGTK, wxbase y bibliotecas de Crypto++ puesto que no estaban disponibles en las versiones compatibles mínimas actuales (2.4.2 y 2.5.1 respectivamente) cuando Woody fue liberado.''&lt;br /&gt;
&lt;br /&gt;
''Lo mejor para los usuarios de Woody es cambiar al rama de Sarge o de Sid. Eso se puede hacer con el siguiente comando (otra vez, usted debe ser root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''o''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''para cambiar a la rama de Sarge/testing, o con''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''o''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''para cambiar a la rama de Sid/unstable.''&lt;br /&gt;
&lt;br /&gt;
''Si los usuarios de Woody no estan interesados en cambiar a Sarge necesitarán descargar los paquetes debian Woody-backported agregando la siguiente línea a /etc/apt/sources.list (recuerde hacer un &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; después de agregar esta línea):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''Que más, detener el trabajo de [http://www.thermoman.de thermoman] en el backports del [[aMule]] para [http://www.debian.org Woody] en la versión [[aMule]] 2.0.0-rc5, los lanzaminetos más nuevos de backports de [[aMule]] son inasequibles. Disculpen.''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 3:''' Los usuarios de Sarge no tendrán ningún problemas de dependencia, ya que tanto crypto++ y wxWidgets ahora han sidos colocados en Sarge. Por lo tanto ya no hay necesidad de actualizar el archivo 'sources.list'' en las distribuciones de Debian Sarge.''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 4:''' Los usuarios de Sid (es decir, la gente que lleva a cabo la rama inestable de Debian 3.0) podría sufrir problemas de paquetes no completamente puestos en práctica o con dependencias rotas (ambas cosas son normales en la rama inestable). Es muy importante tener esto presente puesto que un compilador (g++) será instalado y que podría estar con fallas y arrastrar las fallas a la mayoría de los paquetes que se compilaron con él (hasta que sea actualizado, desde luego). Si un paquete estuviera con fallas, para retroceder puede usar la opción --force-downgrade con dpkg.''&lt;br /&gt;
&lt;br /&gt;
Si por alguna razón piensa que todo esto es muy complicado, puede esperar un par de días hasta que aparezca una versión binaria de aMule para su arquitectura (como un archivo .deb)&lt;br /&gt;
&lt;br /&gt;
== Lo más rápido: Instalación de los paquetes necesarios ==&lt;br /&gt;
&lt;br /&gt;
Recuerde que necesita ser superusuario (root) para instalar sus aplicaciones usando apt-get, ya que apt-get instala las aplicaciones con sus dependencias. Sino ingresa como superusuario (root), use &amp;quot;su&amp;quot; o añada &amp;quot;sudo&amp;quot; antes de cada comando mostrado aqui.&lt;br /&gt;
&lt;br /&gt;
Los siguientes son los paquetes que deben ser instalados:&lt;br /&gt;
&lt;br /&gt;
1) Instale el último compilador estable de g++ y la Libreria Standar de C++&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
las librerias requeridas para compilar [[aMule]] (wxbase realmente no es una libreria requerida para compilar aMule, pero a menos que sepa lo que está haciendo, asegurese de instalarlo. No demostraré en esta esta guía cómo forzar la compilación de aMule sin wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternativamente puede utilizar &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; para conseguir todas las dependencias requeridas para la compilación. De todas formas, este último método no es seguro que funcione, puesto que dependerá de la última versión en el depósito de Debian o las versiones de CVS que puden tener diferentes dependencias.&lt;br /&gt;
Y una utilidad requerida para compilar [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
 apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Nota 5:''' Todo esto se puede hacer en un sólo comando, lo que puede ser más comodo para los usuarios usando &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; para obtener privilegios de superusuario (root):''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Nota 6:''' Del aMule 2.0.0-rc1 al aMule 2.0.0-rc5 (inclusive) el paquete ''libcrypto++-dev'' es necesario para compilar aMule, sólo si está compilando alguna de estas versiones, también debería hacer un apt-get libcrypto++-dev.&lt;br /&gt;
&lt;br /&gt;
También, podría estar interesado en la instalación de libgd2-noxpm-dev, si planea compilar CAS (Habilitación de columna de direcciones). Esta no es una biblioteca requerida para compilar CAS (Habilitación de columna de direcciones), esta biblioteca sólo es usada por CAS (Habilitación de columna de direcciones) para crear imágenes (desde v2.0.0-rc3) sobre el estado actual de aMule (ejecutando &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). Si usted planea usar esta caracteristica de CAS, usted tiene que instalar LibGD2. De todos modos, CAS compilará perfectamente incluso si LibGD2 no es instalada, ya que es detectada, en tiempo de compilación, si dicha biblioteca está instalada.''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 7:''' Los usuarios de Woody probablemente no podrán conseguir libgd2-xpm-dev y libcurl3-dev ya que esos paquetes no están disponibles para Woody. Para libcurl3-dev sólo puede instalar libcurl2-dev i continuar, todo estará bien para libgd2-xpm, en este momento no hay backport disponible pero, ya que esta biblioteca es utilizada solamente por CAS (y sugerido, incluso no requerido), no dará ningún problema en tiempo de compilación. Solamente esté consciente que &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; no funcionará.''&lt;br /&gt;
&lt;br /&gt;
2) Descargue la última versión del codigo fuente de [[aMule]] desde [http://www.amule.org/files/files.php?cat=6 aquí] (o vea [[AMule_CVS|aquí]] para actualizar el enlace).&lt;br /&gt;
&lt;br /&gt;
'''''Nota 8:''' Desde ahora, Supondré que estamos instalando  aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Arreglo de la Libreria Crypto++ 5.1 if si es que la usa.&lt;br /&gt;
&lt;br /&gt;
Desde [[aMule]] 2.0.0-rc1 hasta aMule 2.0.0-rc5 (inclusive) esta libreria es requerida porque [[aMule]] ahora está soportando SecureIdent (recuerde, desde aMule 2.0.0-rc6, libcrypto++ es opcional y no se necesita por defecto), pero el paquete de [[Libcrypto|Crypto++]] [[Debian]] ha tenido fallas de compilación y todavía tiene una (aunque el resto se han descubierto después de los informes del equipo del aMule). Recuerde que debe hacer un update y un dist-upgraded con apt-get antes de instalar cualquier paquete de [[Debian]] en este Como, si no, usted podría instalar (o haber instalado ya) un paquete Crypto++ con fallas y este problema no satisfacerá sus necesidades. Para arreglar el último paquete de [[Libcrypto|crypto++]] [[Debian]] sólo es necesario un enlace simbólico:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''Si todavía no puede compilar crypto++, intente compilarlo después de ejecutar el siguiente comando:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Nota 9:''' Ya que este enlace necesita permisos de escritura en /usr/lib, los privilegios de superusuario (root) son necesarios. Una vez más esto se puede hacer facilmete con &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
=== Usando [[wxWidgets]] 2.6 ===&lt;br /&gt;
&lt;br /&gt;
Los usuarios de [[Debian|Etch]] y [[Debian|Sid]] pueden usar wxWidgets 2.6 en lugar de wxWidgets 2.4 (los usuarios de Woody y Sarge olvidadlo. Pasad directamente al capítulo siguiente).&lt;br /&gt;
&lt;br /&gt;
Para usar wxWidgets 2.6 en lugar de 2.4, simplemente reemplazad en los comandos menionados hasta ahora los términos ''libwxbase2.4-dev'' y ''libwxgtk2.4-dev'' por ''libwxbase2.6-dev'' y libwxgtk2.6-dev'' respectivamente.&lt;br /&gt;
&lt;br /&gt;
Si se debe o no usar wx 2.6 en lugar de wx 2.4 es una decision personal. Tiene ventajas y desventajas. De todas maneras, en la mayoría de casos, se agradece usar wx 2.6, así que está recomendado.&lt;br /&gt;
&lt;br /&gt;
== Lo más duro: Compilación [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extraiga las fuentes. Lo siguiente creará una carpeta en el directorio home de su usuario donde extraerá las fuentes con la opción -C en ella (el siguiente comando entiende que las fuentes de [[aMule]] están en el directorio actual): &lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Nota 10:''' Recuerde que estoy suponiendo que está extrayendo [[aMule]] 2.0.0-rc3. Cambie el nombre de archivo si no corresponde con el nombre del archivo del codigo fuente.''&lt;br /&gt;
&lt;br /&gt;
5) ¡Compile [[aMule]]! El siguiente comando cambiará al directorio que contiene [[aMule]] 2.0.0rc3 y lo compilará:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Nota 11:''' Por favor vea el [[configure|articulo de configuración]].''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 12:''' Usted debe comprobar la salida de&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
para ver si hay cualquier cambio en la configuración que puede ser de su interés, por ejemplo --disable-debug --enable-optimise o --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Nota 13:''' si aparece un mensaje de error, mientras compila, similar a: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, lo más probable es que tenga problemas con wxWidgets. Intente con''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''el cuál reinstalará wxWidgets y probablemente arreglará el error de compilación.''&lt;br /&gt;
&lt;br /&gt;
== Reunión de satisfacción: ¡Instalación de aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) ¿Qué es falta? Instale aMule (recuerde que usted debe ser superusuario (root), entonces conéctese como la superusuario (root) o use code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; o &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Ahora puede remover los fuentes para liberar espacio en el disco duro, debe ejecutar:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== El final: Comprobaciónes finales ==&lt;br /&gt;
&lt;br /&gt;
Si usted alguna vez ha instalado aMule de los paquetes de Debian (no importa si el paquete viene de http://gunnm.org/~soda), usted tendrá binarios aMule instalados en /usr/bin. Pero &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; instala binarios en /usr/local/bin (a no ser que --prefix= sea puesto en la configuración). Esto nos conduce al punto que escribiendo &amp;quot;amule&amp;quot; alguna de las dos versiones de aMule podría ser invocada para instalarse (cual es ejecutado dependerá de la variable de ambiente $PATH. Usted puede comprobarlo escribiendo &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). El paso siguiente es muy fácil: quite el aMule instalado por el paquete de [[Debian]]. Puede hacer esto con el comando &amp;quot;apt-get remove amule&amp;quot; (no use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; o podría perder sus ajustes de [[aMule]]) o con &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (otra vez, nunca use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; o usted podría perder sus ajustes de [[aMule]]). apt-get quitará aMule-utils si usted lo tiene instalado (sólo disponible como un paquete separado en Sid, en Sarge y en Woody aMule utils es incluido en el paquete base de aMule) mientras dpkg dejará aMule-utils instalado en el sistema (que en general, es una mala idea). &lt;br /&gt;
&lt;br /&gt;
También, si instaló xmule o algún día piensa instalarlo, debe tener en mente esto: el [[ed2k command]] existe tanto en [[aMule]] como [[xMule]]. Usted podría querer ejecutar `type ed2k` para ver cuál [[ed2k command]] será ejecutado y renombrar el otro, entonces se asegura que nunca sea ejecutado por equivocación).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Está terminando... ==&lt;br /&gt;
&lt;br /&gt;
¡Esto es todo! Su propio [[aMule]] compilado está instalado en su sistema y listo para funcionar.&lt;br /&gt;
&lt;br /&gt;
Para ejecutar [[aMule]], solamente escriba &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. Usted puede comprobar si todo está trabajado, escribiendo &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; y comprueba si la versión mostrada está en correspondencia con la que usted compilo/instalo.&lt;br /&gt;
&lt;br /&gt;
Si este Como no ayudara, usted tiene un problema raro en su sistema;-) Mire en http://www.amule.org ([http://www.amule.org/amule Foros de aMule] en http://forum.amule.org ) o nos visita en #amule en irc.freenode.net y (no lo dúde) trataremos de hacer todo lo posible para ayudarle.&lt;br /&gt;
&lt;br /&gt;
== Notas finales ==&lt;br /&gt;
&lt;br /&gt;
Si usted está en uno de aquellos casos raros cuando usted desea compilar [[aMule]] estáticamente, instalar también ''libtiff4-dev'' (por ''apt-get install libtiff4-dev''). De todos modos, esto '''NO''' es recomendado y de hecho, probablemente no hará ninguna mejora o hasta, no trabajan en nada.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2006-01-10T08:53:54Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule stable release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[HowTo_Compile_In_Debian-es|Español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
'''These packages are for Debian 3.1 Sarge only!'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://amule-debian.dyndns.org/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Packages in this repository:&lt;br /&gt;
*amule&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amule-gui-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
*amule-utils (metapackage for amule-gui-utils and amule-console-utils)&lt;br /&gt;
&lt;br /&gt;
'''NOTES:''' &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
'''These packages are for Debian testing aka Etch only!'''&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following line into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
packages are GPG sighned, so follow this steps:&lt;br /&gt;
 ''gpg --keyserver wwwkeys.eu.pgp.net --recv 50D0AE60''&lt;br /&gt;
 ''gpg -a --export 50D0AE60 &amp;gt; /tmp/key''&lt;br /&gt;
 ''apt-key add /tmp/key'' (requires superuser privileges)&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Compiling on Debian 3.0 aka Woody ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be updated to Sarge doing apt-get dist-upgrade.&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 2.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
=== Using [[wxWidgets]] 2.6 ===&lt;br /&gt;
&lt;br /&gt;
[[Debian|Etch]] and [[Debian|Sid]] users can use wxWidgets 2.6 instead of wxWidgets 2.4 (Woody and Sarge users, forget about it. Go straight to the next chapter of this article).&lt;br /&gt;
&lt;br /&gt;
To use wxWidgets 2.6 instead of 2.4, just replace in all the above commands the terms ''libwxbase2.4-dev'' and ''libwxgtk2.4-dev'' with ''libwxbase2.6-dev'' and libwxgtk2.6-dev'' respectively.&lt;br /&gt;
&lt;br /&gt;
Whether or not you should use wx 2.6 insetad of wx 2.4 is up to you. It has both advantages and disadvantages. Anyway, in most cases, you will be grateful to use wx 2.6, so it is recommended.&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-10-30T21:22:40Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[HowTo_Compile_In_Debian-es|Español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
'''These packages are for Debian 3.1 Sarge only!'''&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://amule-debian.dyndns.org/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Packages in this repository:&lt;br /&gt;
*amule&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-gui-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
*amule-utils (metapackage for amule-gui-utils and amule-console-utils)&lt;br /&gt;
&lt;br /&gt;
'''NOTES:''' &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
'''These packages are for Debian testing aka Etch only!'''&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following line into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
packages are GPG sighned, so follow this steps:&lt;br /&gt;
 ''gpg --keyserver wwwkeys.eu.pgp.net --recv 50D0AE60''&lt;br /&gt;
 ''gpg -a --export 50D0AE60 &amp;gt; /tmp/key''&lt;br /&gt;
 ''apt-key add /tmp/key'' (requires superuser privileges)&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Compiling on Debian 3.0 aka Woody ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be updated to Sarge doing apt-get dist-upgrade.&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 2.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
=== Using [[wxWidgets]] 2.6 ===&lt;br /&gt;
&lt;br /&gt;
[[Debian|Etch]] and [[Debian|Sid]] users can use wxWidgets 2.6 instead of wxWidgets 2.4 (Woody and Sarge users, forget about it. Go straight to the next chapter of this article).&lt;br /&gt;
&lt;br /&gt;
To use wxWidgets 2.6 instead of 2.4, just replace in all the above commands the terms ''libwxbase2.4-dev'' and ''libwxgtk2.4-dev'' with ''libwxbase2.6-dev'' and libwxgtk2.6-dev'' respectively.&lt;br /&gt;
&lt;br /&gt;
Whether or not you should use wx 2.6 insetad of wx 2.4 is up to you. It has both advantages and disadvantages. Anyway, in most cases, you will be grateful to use wx 2.6, so it is recommended.&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_devs</id>
		<title>AMule devs</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_devs"/>
				<updated>2005-10-24T17:11:06Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: link added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The [[aMule]] Project ==&lt;br /&gt;
The aMule project is led by a bunch of people (tho some rumours say they are monkeys) who toil away in front of their computers, so that you can enjoy a stable and featureful P2P client.&lt;br /&gt;
This page is about them.&lt;br /&gt;
&lt;br /&gt;
== The Team ==&lt;br /&gt;
These are the people who work on aMule:&lt;br /&gt;
&lt;br /&gt;
=== Developers ===&lt;br /&gt;
* [[User:deltaHF|deltaHF]]: Webmaster, Admin and from-time-to-time-coder ;)&lt;br /&gt;
* [[User:falso|falso]]: [[CAS]] coder.&lt;br /&gt;
* [[User:GonoszTopi|GonoszTopi]]: [[External Connections]] developer.&lt;br /&gt;
* [[User:Hetfield|Hetfield]]: Ex-Admin, pretty-no-free-time coder.&lt;br /&gt;
* [[User:Jacobo221|Jacobo221]]: Our man-for-all&lt;br /&gt;
* [[User:ken|Ken]]: The big [http://www.apple.com/macosx Mac] guy.&lt;br /&gt;
* [[User:Kry|Kry]]: Main developer and Admin&lt;br /&gt;
* [[User:lfroen|lfroen]]: Core/GUI dedicated guy.&lt;br /&gt;
* [[User:Phoenix|Phoenix]]: Code janitor junior.&lt;br /&gt;
* [[User:thepolish|thepolish]]: [[aMule]] [[FAQ_utils|tools]] coder.&lt;br /&gt;
* [[User:Unleashed|Unleashed]]: Sometimes around ;)&lt;br /&gt;
* [[User:Xaignar|Xaignar]]: Code janitor extraordinaire!&lt;br /&gt;
&lt;br /&gt;
=== Testers ===&lt;br /&gt;
* [[User:Citroklar|Citroklar]]: Tester, slave-work-coder (sometimes)&lt;br /&gt;
* ender`: Tester&lt;br /&gt;
* [[User:lionel77|lionel77]]: Tester and provider of binaries for Mac OS&lt;br /&gt;
* nachbarnebenan: Tester, and life-complicator by using large&amp;amp;strange nicks ;-P&lt;br /&gt;
* nich: Tester&lt;br /&gt;
* skolnick: Solaris tester&lt;br /&gt;
* [[User:Stefanero|Stefanero]]: Supporter, Tester, and [[aMuleWeb]] Guru&lt;br /&gt;
* [[User:thedude0001|thedude0001]]: Tester&lt;br /&gt;
&lt;br /&gt;
=== Special Gold Guest Members ===&lt;br /&gt;
* [[User:Bigbob|Bigbob]]: Also known as ''[[User:Bigbob|Creteil]]''; [[aMule]] project creator.&lt;br /&gt;
* [[User:Madcat|Madcat]]: The one and only kitty dev.&lt;br /&gt;
* [[User:Tiku|Tiku]]: And God said: Let there be [[lMule]]!&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
* [[User:Bootstrap|bootstrap]]: [[IRC]] bot (''bootbox'') and [[aMule CVS]] hoster&lt;br /&gt;
* [[User:uberpenguin|uberpenguin]]: uberpenguin is extremely difficult to classify...  Let us call him the 'official bystander to *mule'.&lt;br /&gt;
* niet: [http://www.dns.net/dnsrd DNS] stuff, [[XAS]], tester.&lt;br /&gt;
&lt;br /&gt;
=== Former Team-members ===&lt;br /&gt;
These are people who have worked on [[aMule]] in the past.&lt;br /&gt;
Please note that this list doesn't include the people from before [[aMule]] forked off from [[xMule]], nor does it include people from the [[lMule]] days. If you wish to learn more about those, please visit the websites of those projects.&lt;br /&gt;
&lt;br /&gt;
==== Developers ====&lt;br /&gt;
* shakraw: [[aMuleWeb]] mantainer.&lt;br /&gt;
&lt;br /&gt;
==== Testers ====&lt;br /&gt;
&lt;br /&gt;
== Helping ==&lt;br /&gt;
We can always use another helping hand, and if you are interested, then I'd encourage you to contact us and see if you can help us. Currently, what we need the most is developers and testers, though also translators and others.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Developer ===&lt;br /&gt;
To become a [[aMule]] Developer (tm), you'll need, at the very least, a working knowledge of C++, since C++ is the language in which [[aMule]] is written. You'll also need to learn about the GUI toolkit used by [[aMule]]: [[wxWidgets]]. In addition, you are required to our [[Coding Style]] rules or we will beat you to death with a sockful of rocks. We do not require that you be an expert, only that you are willing to help and learn.&lt;br /&gt;
&lt;br /&gt;
If you are interested, then simply drop by the [[IRC|IRC Channel]] and let us know. Currently, we use a private [http://www.gnu.org/software/cvs CVS] server, but after you've submitted a patch or two you can easily get r/w access to it. You can also post patches on the [http://www.amule-project.net/amule/board.php?boardid=47 Development] forum, however, virtually all discussions regarding development happens on [[IRC]].&lt;br /&gt;
&lt;br /&gt;
We can especially use your skills if you are using one of the platforms: [http://www.unix.org Unix], *[http://www.bsd.org BSD], [http://www.sun.com/solaris Solaris], [http://www.apple.com Macs] and [http://www.microsoft.com/windows Windows]. If your operating system of choice isn't on that list, then perhaps you can contribute.&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Tester ===&lt;br /&gt;
We need people who are willing to create complete bug-reports, as the standard is pretty low regarding user reports. This is rather simple, but takes patience. Please contact us on [[IRC]] for more information and read [[Backtraces|this guide on creating useful backtraces]].&lt;br /&gt;
&lt;br /&gt;
=== Becoming a Translator ===&lt;br /&gt;
[[aMule]] already includes translations for a number of languages, however, we'll always welcome more, and even if your language of choice has been done already, then perhaps you can help improve it. Please see the [http://forum.amule.org/board.php?boardid=40 Translations forum] for more information on current translations, or contact us on [[IRC]]. Also, take a look at the [[Translations|aMule translation howto]].&lt;br /&gt;
&lt;br /&gt;
BTW, you can also help with [[Translating_Wiki|translating aMule wiki]] articles. There's always lots of work to do. =)&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-10-01T21:00:36Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule CVS release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[HowTo_Compile_In_Debian-es|Español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://amule-debian.dyndns.org/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTES:''' &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* 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).&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following lines into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing wx&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The second line is necessary for Sarge users and strongly recommended for Sid users.&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] stable'''&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-gui-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
*amule-utils (metapackage for amule-gui-utils and amule-console-utils)&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Notes before starting ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be unable to install the wxGTK, wxbase and Crypto++ libraries since they were not available in the current minimum compatible versions (2.4.2 and 2.5.1 respectively) when Woody was released.''&lt;br /&gt;
&lt;br /&gt;
''The best for Woody users is to switch to the Sarge or Sid branch. That can be done with the following command (again, you must be root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sarge/testing branch, or with''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sid/unstable branch.''&lt;br /&gt;
&lt;br /&gt;
''If Woody users are not be interested in switching to Sarge they will need to download Woody-backported debian packages by adding the following line to /etc/apt/sources.list (remember to &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; after adding this line):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''What's more, [http://www.thermoman.de thermoman] stopped working on the [[aMule]] backports for [http://www.debian.org Woody] on the [[aMule]] 2.0.0-rc5 release, so newer [[aMule]] releases backports are unavailable. Sorry.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sarge users won't have any dependecy problems any longer, since both crypto++ and wxWidgets have both been in Sarge for some time now. So there's no longer any need to update ''sources.list'' on Debian Sarge distributions.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 4:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' Woody users will most probably be unable to get libgd2-xpm-dev and libcurl3-dev since those packages aren't available for Woody. For libcurl3-dev you can just install libcurl2-dev and go on, everything will be ok For libgd2-xpm, at the moment there is no backport available but, since this library is only used by CAS (and suggested, not even required), it won't give any problems on compilation time. Just be aware that &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; won't work.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 2.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 13:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-09-20T18:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule stable release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[HowTo_Compile_In_Debian-es|Español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://amule-debian.dyndns.org/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTES:''' &lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* http://dude.gemil.de is deprecated. 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).&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following lines into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing wx&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The second line is necessary for Sarge users and strongly recommended for Sid users.&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] stable'''&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Notes before starting ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be unable to install the wxGTK, wxbase and Crypto++ libraries since they were not available in the current minimum compatible versions (2.4.2 and 2.5.1 respectively) when Woody was released.''&lt;br /&gt;
&lt;br /&gt;
''The best for Woody users is to switch to the Sarge or Sid branch. That can be done with the following command (again, you must be root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sarge/testing branch, or with''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sid/unstable branch.''&lt;br /&gt;
&lt;br /&gt;
''If Woody users are not be interested in switching to Sarge they will need to download Woody-backported debian packages by adding the following line to /etc/apt/sources.list (remember to &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; after adding this line):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''What's more, [http://www.thermoman.de thermoman] stopped working on the [[aMule]] backports for [http://www.debian.org Woody] on the [[aMule]] 2.0.0-rc5 release, so newer [[aMule]] releases backports are unavailable. Sorry.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sarge users won't have any dependecy problems any longer, since both crypto++ and wxWidgets have both been in Sarge for some time now. So there's no longer any need to update ''sources.list'' on Debian Sarge distributions.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 4:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' Woody users will most probably be unable to get libgd2-xpm-dev and libcurl3-dev since those packages aren't available for Woody. For libcurl3-dev you can just install libcurl2-dev and go on, everything will be ok For libgd2-xpm, at the moment there is no backport available but, since this library is only used by CAS (and suggested, not even required), it won't give any problems on compilation time. Just be aware that &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; won't work.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 2.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 13:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-08-31T09:43:20Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule stable release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[HowTo_Compile_In_Debian-es|Español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://dude.gemil.de/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get install amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' 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.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following lines into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing wx&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The second line is necessary for Sarge users and strongly recommended for Sid users.&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] stable'''&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Notes before starting ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be unable to install the wxGTK, wxbase and Crypto++ libraries since they were not available in the current minimum compatible versions (2.4.2 and 2.5.1 respectively) when Woody was released.''&lt;br /&gt;
&lt;br /&gt;
''The best for Woody users is to switch to the Sarge or Sid branch. That can be done with the following command (again, you must be root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sarge/testing branch, or with''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sid/unstable branch.''&lt;br /&gt;
&lt;br /&gt;
''If Woody users are not be interested in switching to Sarge they will need to download Woody-backported debian packages by adding the following line to /etc/apt/sources.list (remember to &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; after adding this line):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''What's more, [http://www.thermoman.de thermoman] stopped working on the [[aMule]] backports for [http://www.debian.org Woody] on the [[aMule]] 2.0.0-rc5 release, so newer [[aMule]] releases backports are unavailable. Sorry.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sarge users won't have any dependecy problems any longer, since both crypto++ and wxWidgets have both been in Sarge for some time now. So there's no longer any need to update ''sources.list'' on Debian Sarge distributions.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 4:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' Woody users will most probably be unable to get libgd2-xpm-dev and libcurl3-dev since those packages aren't available for Woody. For libcurl3-dev you can just install libcurl2-dev and go on, everything will be ok For libgd2-xpm, at the moment there is no backport available but, since this library is only used by CAS (and suggested, not even required), it won't give any problems on compilation time. Just be aware that &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; won't work.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 2.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 13:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_is_slow-de</id>
		<title>AMule is slow-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_is_slow-de"/>
				<updated>2005-08-13T18:40:46Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Schuld des Netzwerkes=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Deutsche''' | [[AMule_is_slow|English]]  | [[AMule_is_slow-it|Italiano]] | [[AMule_is_slow-nl|Nederlands]] | [[AMule_is_slow-es|Español]] | [[AMule_is_slow-hu|Magyar]]&amp;lt;/center&amp;gt;&lt;br /&gt;
== [[aMule]] ist langsam ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] ist langsam? Folgendes ist möglich:&lt;br /&gt;
&lt;br /&gt;
*[[#Deine Schuld|Deine Schuld]]&lt;br /&gt;
*[[#Schuld des Netzwerkes|Schuld des Netzwerkes]]&lt;br /&gt;
&lt;br /&gt;
== Deine Schuld ==&lt;br /&gt;
&lt;br /&gt;
Dies ist eine Liste mit Möglichkeiten, die für Deine langsame Download-Geschwindigkeit verantwortlich sein könnten:&lt;br /&gt;
&lt;br /&gt;
*Ein niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Download-Limit&amp;quot;&lt;br /&gt;
*Ein niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Upload-Limit&amp;quot;. Wenn das Upload-Limit niedriger als 4 KB/s ist, wird die Download-Geschwindigkeit auf das dreifache des eingestellten Uploads begrenzt. Wenn die Upload-Begrenzung kleiner als zehn, aber größer als vier ist, wird die Download-Geschwindigkeit auf das vierfache des Uploads begrenzt. Upload-Begrenzungen die gleich oder größer zehn sind erlauben einen unbegrenzten Download, der nur durch das &amp;quot;Download-Limit&amp;quot; begrenzt wird. (Lese [[FAQ_eD2k-Kademlia-de##Gibt_es_Grenzen_im_ED2k-Netzwerk?|diese Seite]] um mehr darüber zu erfahren).&lt;br /&gt;
*Ein zu hohen Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Upload-Limit&amp;quot;. Deine Verbindung könnte verstopfen! (Es hängt von Deiner Verbindungs-Geschwindigkeit ab.)&lt;br /&gt;
*Ein zu niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Max Verbindungen&amp;quot;. Es sind nicht genügend Verbindungen verfügbar.&lt;br /&gt;
*Ein zu hoher Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Max Verbindungen&amp;quot;. Zu viele Verbindungen verstopfen Deinen Internetzugang.&lt;br /&gt;
*Ein zu niedriger Wert unter &amp;quot;Erweiterte Einstellungen&amp;quot;-&amp;gt;&amp;quot;Neue Verbindungen&amp;quot;. Es dauert sehr lange [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quellen]] zu erreichen.&lt;br /&gt;
*Ein zu hoher Wert unter &amp;quot;Erweiterte Einstellungen&amp;quot;-&amp;gt;&amp;quot;Neue Verbindungen&amp;quot;. Dein Internetzugang wird verstopft, viele neue Verbindungen erzeugen viel Overhead.&lt;br /&gt;
*Eine [[FAQ_eD2k-Kademlia-de#Was_sind_niedrige_und_hohe_IDs?|Low-ID]] zu haben.&lt;br /&gt;
*Einige [http://de.wikipedia.org/wiki/Internetdienstanbieter ISPs] blockieren oder begrenzen Verbindungen zu den Standard-[[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]]-[[FAQ_eD2k-Kademlia-de#Welche_Ports_m%C3%BCssen_in_einer_Firewall_oder_einem_Router_f%C3%BCr_aMule_konfiguriert_werden?|Ports]]. Versuche den Port unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Verbindung&amp;quot; zu verändern.&lt;br /&gt;
*Deine Firewall könnte einige Ports blockieren, die von [[aMule]] benutzt werden, oder Du hast die Ports in Deinem Router nicht weiterleiten lassen. (Wie bereits erwähnt, lese [[FAQ_eD2k-Kademlia-de#Was_sind_niedrige_und_hohe_IDs?|Low-ID]])&lt;br /&gt;
&lt;br /&gt;
== Schuld des Netzwerkes ==&lt;br /&gt;
&lt;br /&gt;
Langsame Download-Geschwindigkeiten liegen nicht immer an einer falschen Konfiguration oder fehlerhaftem amule-Code. Einige Faktoren können unabhängig davon auch noch eine Rolle spielen:&lt;br /&gt;
&lt;br /&gt;
*[[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]] ist ein langsames Netzwerk; Das [[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]]-Netzwerk ist eines der größten existierenden [http://de.wikipedia.org/wiki/Peer-to-Peer P2P]-Netzwerke, jedoch liegt das Hauptziel in der Verfügbarkeit von Daten. Während Du mit anderen verbreiteten Netzwerken schneller Deine Downloads fertig stellst, wirst Du schnell erkennen, dass das eD2k-Netzwerk die Heimat von Millionen von Dateien ist, die Du in keinem anderen Netzwerk findest.&lt;br /&gt;
*[[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]]; Wenn Du aMule das erste mal laufen lässt oder wenn Du die Dateien im ~/.aMule-Verzeichnis löscht, besitzt Du keine [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]]. [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]] garantieren schnellere Downloads. Wenn Du nicht weißt, worum es sich dabei handelt, klicke [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|hier]].&lt;br /&gt;
*Verbreitung von Dateien; Seltene, alte oder sehr neue Dateien haben sehr wenige [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quellen]], so das es länger dauert bis aMule von den wenigen verfügbaren Benutzern downloaden kann.&lt;br /&gt;
*Lange [[queue|Warteschlangen]]; eMule, genauso wie die meisten seiner Abkömmlinge, verwendet lange [[queue|Warteschlangen]]. aMule begrenzt die [[queue|Warteschlange]] standardmäßig auf 5000. Das garantiert, dass Benutzer nicht durch andere [[Client-de|Clients]] benachteiligt werden, die häufig wiederholt die [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quelle]] anfordern (Das war ein wirkliches Problem in der Zeit vor [http://de.wikipedia.org/wiki/EMule eMule]). Man muss bereit sein in der Schlange zu warten und dies kann für einen neuen Benutzer ohne [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]] sehr lange dauern. Manchmal muß man auch mal zwei Wochen auf die Fertigstellung eines Downloads warten, zum Beispiel für eine, für die nur eine Quelle existiert.&lt;br /&gt;
*Lies die [[FAQ network|Netzwerk FAQ]].&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_is_slow-de</id>
		<title>AMule is slow-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_is_slow-de"/>
				<updated>2005-08-13T18:39:30Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Schuld des Netzwerkes=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''Deutsche''' | [[AMule_is_slow|English]]  | [[AMule_is_slow-it|Italiano]] | [[AMule_is_slow-nl|Nederlands]] | [[AMule_is_slow-es|Español]] | [[AMule_is_slow-hu|Magyar]]&amp;lt;/center&amp;gt;&lt;br /&gt;
== [[aMule]] ist langsam ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] ist langsam? Folgendes ist möglich:&lt;br /&gt;
&lt;br /&gt;
*[[#Deine Schuld|Deine Schuld]]&lt;br /&gt;
*[[#Schuld des Netzwerkes|Schuld des Netzwerkes]]&lt;br /&gt;
&lt;br /&gt;
== Deine Schuld ==&lt;br /&gt;
&lt;br /&gt;
Dies ist eine Liste mit Möglichkeiten, die für Deine langsame Download-Geschwindigkeit verantwortlich sein könnten:&lt;br /&gt;
&lt;br /&gt;
*Ein niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Download-Limit&amp;quot;&lt;br /&gt;
*Ein niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Upload-Limit&amp;quot;. Wenn das Upload-Limit niedriger als 4 KB/s ist, wird die Download-Geschwindigkeit auf das dreifache des eingestellten Uploads begrenzt. Wenn die Upload-Begrenzung kleiner als zehn, aber größer als vier ist, wird die Download-Geschwindigkeit auf das vierfache des Uploads begrenzt. Upload-Begrenzungen die gleich oder größer zehn sind erlauben einen unbegrenzten Download, der nur durch das &amp;quot;Download-Limit&amp;quot; begrenzt wird. (Lese [[FAQ_eD2k-Kademlia-de##Gibt_es_Grenzen_im_ED2k-Netzwerk?|diese Seite]] um mehr darüber zu erfahren).&lt;br /&gt;
*Ein zu hohen Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Upload-Limit&amp;quot;. Deine Verbindung könnte verstopfen! (Es hängt von Deiner Verbindungs-Geschwindigkeit ab.)&lt;br /&gt;
*Ein zu niedriger Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Max Verbindungen&amp;quot;. Es sind nicht genügend Verbindungen verfügbar.&lt;br /&gt;
*Ein zu hoher Wert unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Max Verbindungen&amp;quot;. Zu viele Verbindungen verstopfen Deinen Internetzugang.&lt;br /&gt;
*Ein zu niedriger Wert unter &amp;quot;Erweiterte Einstellungen&amp;quot;-&amp;gt;&amp;quot;Neue Verbindungen&amp;quot;. Es dauert sehr lange [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quellen]] zu erreichen.&lt;br /&gt;
*Ein zu hoher Wert unter &amp;quot;Erweiterte Einstellungen&amp;quot;-&amp;gt;&amp;quot;Neue Verbindungen&amp;quot;. Dein Internetzugang wird verstopft, viele neue Verbindungen erzeugen viel Overhead.&lt;br /&gt;
*Eine [[FAQ_eD2k-Kademlia-de#Was_sind_niedrige_und_hohe_IDs?|Low-ID]] zu haben.&lt;br /&gt;
*Einige [http://de.wikipedia.org/wiki/Internetdienstanbieter ISPs] blockieren oder begrenzen Verbindungen zu den Standard-[[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]]-[[FAQ_eD2k-Kademlia-de#Welche_Ports_m%C3%BCssen_in_einer_Firewall_oder_einem_Router_f%C3%BCr_aMule_konfiguriert_werden?|Ports]]. Versuche den Port unter &amp;quot;Einstellungen&amp;quot;-&amp;gt;&amp;quot;Verbindung&amp;quot; zu verändern.&lt;br /&gt;
*Deine Firewall könnte einige Ports blockieren, die von [[aMule]] benutzt werden, oder Du hast die Ports in Deinem Router nicht weiterleiten lassen. (Wie bereits erwähnt, lese [[FAQ_eD2k-Kademlia-de#Was_sind_niedrige_und_hohe_IDs?|Low-ID]])&lt;br /&gt;
&lt;br /&gt;
== Schuld des Netzwerkes ==&lt;br /&gt;
&lt;br /&gt;
Wir mögen es nicht Dir mitteilen zu müssen, dass die langsame Download-Geschwindigkeit nicht immer etwas mit fehlerhaften [[aMule]]-Code oder einer falschen Konfiguration zu tun hat. Einige Faktoren könnten unabhängig von diesen auch noch eine Rolle spielen:&lt;br /&gt;
&lt;br /&gt;
*[[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]] ist ein langsames Netzwerk; Das [[FAQ_eD2k-Kademlia#Was_ist_ED2K?|eD2k]]-Netzwerk ist eines der größten existierenden [http://de.wikipedia.org/wiki/Peer-to-Peer P2P]-Netzwerke, jedoch liegt das Hauptziel in der Verfügbarkeit von Daten. Während Du mit anderen verbreiteten Netzwerken schneller Deine Downloads fertig stellst, wirst Du schnell erkennen, dass das eD2k-Netzwerk die Heimat von Millionen von Dateien ist, die Du in keinem anderen Netzwerk findest.&lt;br /&gt;
*[[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]]; Wenn Du aMule das erste mal laufen lässt oder wenn Du die Dateien im ~/.aMule-Verzeichnis löscht, besitzt Du keine [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]]. [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]] garantieren schnellere Downloads. Wenn Du nicht weißt, worum es sich dabei handelt, klicke [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|hier]].&lt;br /&gt;
*Verbreitung von Dateien; Seltene, alte oder sehr neue Dateien haben sehr wenige [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quellen]], so das es länger dauert bis aMule von den wenigen verfügbaren Benutzern downloaden kann.&lt;br /&gt;
*Lange [[queue|Warteschlangen]]; eMule, genauso wie die meisten seiner Abkömmlinge, verwendet lange [[queue|Warteschlangen]]. aMule begrenzt die [[queue|Warteschlange]] standardmäßig auf 5000. Das garantiert, dass Benutzer nicht durch andere [[Client-de|Clients]] benachteiligt werden, die häufig wiederholt die [[FAQ_eD2k-Kademlia-de#Was_ist_eine_Quelle?|Quelle]] anfordern (Das war ein wirkliches Problem in der Zeit vor [http://de.wikipedia.org/wiki/EMule eMule]). Man muss bereit sein in der Schlange zu warten und dies kann für einen neuen Benutzer ohne [[FAQ_eD2k-Kademlia-de#Was_hat_es_mit_diesem_ganzen_Krempel_(Credits,_Bewertungen,_Ratings,_Warteschlangen)_auf_sich?|Kredits]] sehr lange dauern. Manchmal muß man auch mal zwei Wochen auf die Fertigstellung eines Downloads warten, zum Beispiel für eine, für die nur eine Quelle existiert.&lt;br /&gt;
*Lies die [[FAQ network|Netzwerk FAQ]].&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-07-18T01:30:51Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule CVS release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://dude.gemil.de/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following lines into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing wx&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The second line is necessary for Sarge users and strongly recommended for Sid users.&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] stable'''&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-utils (alc, wxcas)&lt;br /&gt;
*amule-console-utils (amuleweb, alcc, cas)&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Notes before starting ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be unable to install the wxGTK, wxbase and Crypto++ libraries since they were not available in the current minimum compatible versions (2.4.2 and 2.5.1 respectively) when Woody was released.''&lt;br /&gt;
&lt;br /&gt;
''The best for Woody users is to switch to the Sarge or Sid branch. That can be done with the following command (again, you must be root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sarge/testing branch, or with''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sid/unstable branch.''&lt;br /&gt;
&lt;br /&gt;
''If Woody users are not be interested in switching to Sarge they will need to download Woody-backported debian packages by adding the following line to /etc/apt/sources.list (remember to &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; after adding this line):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''What's more, [http://www.thermoman.de thermoman] stopped working on the [[aMule]] backports for [http://www.debian.org Woody] on the [[aMule]] 2.0.0-rc5 release, so newer [[aMule]] releases backports are unavailable. Sorry.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sarge users won't have any dependecy problems any longer, since both crypto++ and wxWidgets have both been in Sarge for some time now. So there's no longer any need to update ''sources.list'' on Debian Sarge distributions.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 4:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' Woody users will most probably be unable to get libgd2-xpm-dev and libcurl3-dev since those packages aren't available for Woody. For libcurl3-dev you can just install libcurl2-dev and go on, everything will be ok For libgd2-xpm, at the moment there is no backport available but, since this library is only used by CAS (and suggested, not even required), it won't give any problems on compilation time. Just be aware that &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; won't work.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 1.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 13:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu</id>
		<title>HowTo Compile In Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Debian/Ubuntu"/>
				<updated>2005-07-17T18:44:45Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =aMule CVS release=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HowTo compile [[aMule]] in [[Debian]] or [http://www.ubuntulinux.org Ubuntu] by ''[[User:Jacobo221|Jacobo221]]'' and [http://www.gnu.org GNU] [http://www.kernel.org Linux] helpers&lt;br /&gt;
&lt;br /&gt;
Very special thanks to ''darknox'', ''Arathornz'', ''guest234'', ''parasito'', ''maya'' and ''klando'' for their tests!&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This howto will also work for [http://www.ubuntulinux.com Ubuntu Linux].&lt;br /&gt;
&lt;br /&gt;
== Are you sure you want to compile? ==&lt;br /&gt;
&lt;br /&gt;
If not, (which is pretty common) decide if you want the [[aMule]] stable release or the [[aMule CVS]] release.&lt;br /&gt;
&lt;br /&gt;
=== [[aMule]] stable release ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
 deb http://dude.gemil.de/ debian/&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
=== [[aMule CVS]] release ===&lt;br /&gt;
&lt;br /&gt;
You can also get the latest [[aMule CVS]] through debs adding the following lines into your ''/etc/apt/sources.list'' file:&lt;br /&gt;
&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
 deb http://www.vollstreckernet.de/debian/ testing wx&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The second line is necessary for Sarge users and strongly recommended for Sid users.&lt;br /&gt;
&lt;br /&gt;
Now run ''apt-get update &amp;amp;&amp;amp; apt-get install amule''&lt;br /&gt;
&lt;br /&gt;
You might also want to take a look at the other available [[aMule]] utilities:&lt;br /&gt;
&lt;br /&gt;
'''[[aMule CVS]]'''&lt;br /&gt;
*amule&lt;br /&gt;
*amule-common&lt;br /&gt;
*amuled&lt;br /&gt;
*amule-remote-gui&lt;br /&gt;
*amuleweb&lt;br /&gt;
*amulewebdlg&lt;br /&gt;
*amule-cas&lt;br /&gt;
*amule-wxcas&lt;br /&gt;
*amule-xas&lt;br /&gt;
*amule-utils&lt;br /&gt;
&lt;br /&gt;
'''[[aMule]] stable'''&lt;br /&gt;
*amule-daemon&lt;br /&gt;
*amule-utils&lt;br /&gt;
*amule-console-utils&lt;br /&gt;
&lt;br /&gt;
For example, if you think [[aMule]]'s [[Webserver|Web interface]] rocks and you want to have it too, enter this line after the one above:&lt;br /&gt;
&lt;br /&gt;
For [[aMule CVS]]: ''apt-get install amuleweb''&lt;br /&gt;
&lt;br /&gt;
For [[aMule]] stable: ''apt-get install amule-console-utils''&lt;br /&gt;
&lt;br /&gt;
If you still want to compile [[aMule]] instead of just installing a binary, keep reading...&lt;br /&gt;
&lt;br /&gt;
==  Notes before starting ==&lt;br /&gt;
&lt;br /&gt;
'''Important:''' Have in mind that this HowTo was done having in mind aMule 2.0.0 or greater in [[Debian]] 3.0 (Woody/Sarge/Sid).&lt;br /&gt;
&lt;br /&gt;
This HowTo is based on using the apt-get package installer tool, which means you'll have to be able to get super-user (root) access. Also, apt-get requires a perfect packet dependencies installed system. If you usually use apt-get for installing any application, skip this and go to the next section. If you rarely use apt-get but, instead, use dpkg, you can;&lt;br /&gt;
&lt;br /&gt;
A) (Recommended) Solve all the dependencies problems on your system. This can be done by taking a look at the &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; output and installing/removing/updating the packages it mentions depending on what's required. This option is the recommended since it will not only ensure your aMule compilation will be most surely correct, but it will also make your system the most stable it can possibly be and from now on you'll be able to use apt-get to not only make easier installations, but also to easily upgrade your system.&lt;br /&gt;
&lt;br /&gt;
B) Force apt-get to ignore the dependencies problems using the -f or --fix-broken switches (just one of them, since they're exactly the same, so that'd be, for example, &amp;lt;code&amp;gt;&amp;quot;apt-get install -f ...&amp;quot;&amp;lt;/code&amp;gt;). This option may cause a corrupt installation of some packages which may cause the apps not to work. Also have in mind that using this switch in a system with dependencies problems may cause the system to completely break if the package being installed is a base package (although this is not the case).&lt;br /&gt;
&lt;br /&gt;
C) Follow this instructions but, instead of using &amp;lt;code&amp;gt;&amp;quot;apt-get install foo&amp;quot;&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;&amp;quot;dpkg -i foo&amp;quot;&amp;lt;/code&amp;gt; where foo is the package to install. Remember the packages must be already on the system when installing packages with dpkg. Remember also to download any &amp;quot;Depends&amp;quot; package since it most-surely will be necessary for successfully compiling [[aMule]]. Avoid using whichever of the following dpkg switches: --force-all  --force-depends-version --force-depends --force-conflicts&lt;br /&gt;
&lt;br /&gt;
If you usually install applications from source, read deltaHF's [[Compilation_Installation|&amp;quot;aMule compilation / installation HowTo&amp;quot;]] since your system might not be complying the Debian aMule package dependencies although &amp;lt;code&amp;gt;&amp;quot;dpkg -C&amp;quot;&amp;lt;/code&amp;gt; shows no errors.&lt;br /&gt;
&lt;br /&gt;
== The easiest: Preparing the system ==&lt;br /&gt;
&lt;br /&gt;
Once you decided to use apt-get, you must make sure you'll be downloading the latest versions of the packages (aMule team has discovered bugs in some deb packages that would make aMule impossible to compile on Debian without compiling some other libraries too. This bugs have been mostly fixed in those affected debian packages, so it is very important to be sure to have the packages up to date). This is done by issuing:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
'''''Note 1:''' You must be root user to do this. Log in as root or &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or use &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;. NB: &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; must be specified on both apt-get commands, that is:''&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get dist-upgrade&lt;br /&gt;
&lt;br /&gt;
''&amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; is not a base command, so it may not be installed on your system, although it most probably will. Be aware that following this HowTo entirely as root may bring some problems later such as being unable to delete certain files as a normal user, so please only use root priviledges when necessary.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 2:''' Woody users (that is, people stuck in the stable Debian 3.0 branch) will be unable to install the wxGTK, wxbase and Crypto++ libraries since they were not available in the current minimum compatible versions (2.4.2 and 2.5.1 respectively) when Woody was released.''&lt;br /&gt;
&lt;br /&gt;
''The best for Woody users is to switch to the Sarge or Sid branch. That can be done with the following command (again, you must be root)''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/testing/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sarge/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sarge/testing branch, or with''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/unstable/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
''or''&lt;br /&gt;
&lt;br /&gt;
 perl -pi.$$ -e &amp;quot;s/(\bstable|woody)/sid/g&amp;quot; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
''to switch to the Sid/unstable branch.''&lt;br /&gt;
&lt;br /&gt;
''If Woody users are not be interested in switching to Sarge they will need to download Woody-backported debian packages by adding the following line to /etc/apt/sources.list (remember to &amp;lt;code&amp;gt;&amp;quot;apt-get update&amp;quot;&amp;lt;/code&amp;gt; after adding this line):''&lt;br /&gt;
&lt;br /&gt;
 deb &amp;lt;nowiki&amp;gt;http://debian.thermoman.de/&amp;lt;/nowiki&amp;gt; woody wxwindows2.4 libcrypto++&lt;br /&gt;
&lt;br /&gt;
''What's more, [http://www.thermoman.de thermoman] stopped working on the [[aMule]] backports for [http://www.debian.org Woody] on the [[aMule]] 2.0.0-rc5 release, so newer [[aMule]] releases backports are unavailable. Sorry.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 3:''' Sarge users won't have any dependecy problems any longer, since both crypto++ and wxWidgets have both been in Sarge for some time now. So there's no longer any need to update ''sources.list'' on Debian Sarge distributions.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 4:''' Sid users (that is, people holding the cutting-edge unstable Debian 3.0 branch) could suffer problems from packages not completely implemented or with broken dependencies (both are normal issues in the unstable branch). It is very important to keep this in mind since a compiler (g++) will be installed so it could also be broken and, with it, most applications compiled with it (once upgraded, of course). If a package was broken, to downgrade you can use the --force-downgrade switch with dpkg.''&lt;br /&gt;
&lt;br /&gt;
If for whatever reason you think this is too much of a complication, you can just wait a few days until the aMule binary version comes out for your architecture (that is, a .deb file).&lt;br /&gt;
&lt;br /&gt;
== The fastest: Installing the necessary packages ==&lt;br /&gt;
Remember you need to be root to install applications using apt-get, since apt-get installs system-wide applications. So, log in as root, use &amp;quot;su&amp;quot; or add &amp;quot;sudo&amp;quot; before every command shown here.&lt;br /&gt;
&lt;br /&gt;
The following are the packages which must be installed:&lt;br /&gt;
&lt;br /&gt;
1) Install the latest stable g++ compiler and the C++ Standard Library&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++&lt;br /&gt;
&lt;br /&gt;
the required libraries for compiling [[aMule]] (wxbase is not really a requiered packet to compile aMule but, unless you know what you're doing, be sure you install it. I won't show in this this guide how to force aMule's compilation without wxbase):&lt;br /&gt;
&lt;br /&gt;
 apt-get install libwxbase2.4-dev libcurl3-dev libgtk1.2-dev libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use &amp;lt;code&amp;gt;apt-get build-dep amule&amp;lt;/code&amp;gt; to get all the required depencies for compilation. Anyway, this last method is not sure to work, since it will depend on the latest version on the Debian repository and later versions or CVS versions might have different dependencies.&lt;br /&gt;
And the required utilities for compiling [[aMule]]:&lt;br /&gt;
&lt;br /&gt;
  apt-get install gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 5:''' This can all be done in a single command line, which might be more handy for users using &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt; to gain root priviledges:''&lt;br /&gt;
&lt;br /&gt;
 apt-get install g++ libwxbase2.4-dev libcurl3-dev libgtk1.2-dev gettext make&lt;br /&gt;
&lt;br /&gt;
'''''Note 6:''' From aMule 2.0.0-rc1 to aMule 2.0.0-rc5 (inclusive) the package ''libcrypto++-dev'' was necessary for compiling aMule, so if you are compiling any of such versions, apt-get libcrypto++-dev too.&lt;br /&gt;
&lt;br /&gt;
Also, you might be interested in installing libgd2-noxpm-dev if you plan to compile CAS. It is not a required library for compiling CAS, this library is only used by CAS for creating images (since v2.0.0-rc3) on the current aMule status (by running &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt;). If you plan to use this feature of CAS, you need to install LibGD2. Anyway, CAS will compile perfectly well even if LibGD2 isn't installed, since it detects, on compilation time, if this library is installed.''&lt;br /&gt;
&lt;br /&gt;
'''''Note 7:''' Woody users will most probably be unable to get libgd2-xpm-dev and libcurl3-dev since those packages aren't available for Woody. For libcurl3-dev you can just install libcurl2-dev and go on, everything will be ok For libgd2-xpm, at the moment there is no backport available but, since this library is only used by CAS (and suggested, not even required), it won't give any problems on compilation time. Just be aware that &amp;lt;code&amp;gt;cas -o&amp;lt;/code&amp;gt; won't work.''&lt;br /&gt;
&lt;br /&gt;
2) Download the latest released [[aMule]] source code from [http://www.amule.org/files/files.php?cat=6 here] (or look [[AMule_CVS|here]] for an up-to-date link).&lt;br /&gt;
&lt;br /&gt;
'''''Note 8:''' From now on, I will suppose we are installing aMule 2.0.0-rc3''&lt;br /&gt;
&lt;br /&gt;
3) Fix Crypto++ Library 5.1 if using it.&lt;br /&gt;
&lt;br /&gt;
From [[aMule]] 2.0.0-rc1 to a aMule 1.0.0-rc5 (inclusive) this library is required because [[aMule]] is now supporting SecureIdent (remember, since aMule 2.0.0-rc6, libcrypto++ is optional and not needed by default), but the [[Libcrypto|Crypto++]] [[Debian]] package has had lots of compiling bugs and still has one (although the rest have been fixed after aMule team's reports). Remember you should have update and dist-upgraded apt-get before installing any [[Debian]] package in this HowTo, otherwise, you could be installing (or already have installed) a buggy Crypto++ package and this fix will not suit your needs. To fix the latest [[Libcrypto|crypto++]] [[Debian]] package only a symbolic link is needed:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++/cryptopp_config.h /usr/include/crypto++/config.h&lt;br /&gt;
&lt;br /&gt;
''If you still can't compile crypto++, try compiling it after running the following command:''&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/include/crypto++ /usr/include/cryptopp&lt;br /&gt;
&lt;br /&gt;
'''''Note 9:''' Since this link needs write permissions in /usr/lib, super-user (root) priviledges are needed. Again, this can be done easily with &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;.''&lt;br /&gt;
&lt;br /&gt;
== The hardest: Compiling [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
4) Extract the sources. The following will create a folder on your user's home directory where it will extract the sources with the -C switch into it (the following command understands that [[aMule]]'s sources are on the current directory):&lt;br /&gt;
&lt;br /&gt;
 mkdir ~/aMule-compilation/ &amp;amp;&amp;amp; tar xzfv aMule-2.0.0rc3.tar.gz -C ~/aMule-compilation/ &amp;amp;&amp;amp; cd ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
'''''Note 10:''' Remember I'm supposing you are extracting [[aMule]] 2.0.0-rc3. Change the file name if it doesn't correspond to the actual packed source code filename.''&lt;br /&gt;
&lt;br /&gt;
5) Compile [[aMule]]! The following command will actually switch to the directory containing [[aMule]] 2.0.0rc3 and compile it:&lt;br /&gt;
&lt;br /&gt;
 cd ~/aMule-compilation/aMule-2.0.0rc3/ &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
'''''Note 11:''' Please take a look at the [[configure|configure article]].''&lt;br /&gt;
&lt;br /&gt;
'''''Note 12:''' You should check the output of&lt;br /&gt;
 ./configure --help | more&lt;br /&gt;
to see if there is any configure switch which might be of your interest, such as --disable-debug --enable-optimise or --bindir= ''&lt;br /&gt;
&lt;br /&gt;
'''''Note 13:''' if you get an error message, while compiling, similar to: &amp;quot;In file included from /usr/include/wx/***:***, [...] /usr/include/wx/******:***: internal compiler error: Segmentation fault&amp;quot;, then you most probably have problems with wxWidgets. Try with''&lt;br /&gt;
&lt;br /&gt;
 apt-get install --reinstall wxwin2.4-headers libwxbase2.4 libwxgtk2.4-dev&lt;br /&gt;
&lt;br /&gt;
''which will reinstall wxWidgets and will most probably fix the compilation error.''&lt;br /&gt;
&lt;br /&gt;
== Meeting satisfaction: Installing aMule! ==&lt;br /&gt;
&lt;br /&gt;
8) What's left? Install aMule (remember you must be root, so log in as root or use &amp;lt;code&amp;gt;&amp;quot;su&amp;quot;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&amp;quot;sudo&amp;quot;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now you can remove the sources so you free up space in your hard disk by running:&lt;br /&gt;
&lt;br /&gt;
 rm -rf ~/aMule-compilation/&lt;br /&gt;
&lt;br /&gt;
== The end: Final checks ==&lt;br /&gt;
&lt;br /&gt;
If you have sometime installed aMule from the Debian packages (no matter if the package came from http://gunnm.org/~soda ), you will have aMule binaries installed in /usr/bin. But &amp;lt;code&amp;gt;&amp;quot;make install&amp;quot;&amp;lt;/code&amp;gt; installs binnaries in /usr/local/bin (unless --prefix= is set in configure). This leads us to the point that when typing &amp;quot;amule&amp;quot; anyone of the two installed aMule versions might be invoked (which one is executed will depend on the $PATH environment variable. You can check it by typing &amp;lt;code&amp;gt;&amp;quot;type amule&amp;quot;&amp;lt;/code&amp;gt;). The walk around is very easy: remove the aMule installed through [[Debian]] package. You can do this with the command &amp;quot;apt-get remove amule&amp;quot; (do not use &amp;lt;code&amp;gt;&amp;quot;apt-get remove --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings) or with &amp;lt;code&amp;gt;&amp;quot;dpkg --remove amule&amp;quot;&amp;lt;/code&amp;gt; (again, never ever use &amp;lt;code&amp;gt;&amp;quot;dpkg --purge&amp;quot;&amp;lt;/code&amp;gt; or you might loose your [[aMule]] settings). apt-get will remove aMule-utils if you have them installed (only available as a separate package in Sid, in Sarge and Woody aMule utils are included in the base aMule package) while dpkg will leave aMule-utils installed on the system (which, in general, is a bad idea).&lt;br /&gt;
&lt;br /&gt;
Also, if you installed xmule sometime or you are planing to install it, have in mind that the [[ed2k command]] exists both in [[aMule]] and [[xMule]]. You might want to run `type ed2k` to see which [[ed2k command]] will be executed and rename the other so you make sure it's never executed by mistake.&lt;br /&gt;
&lt;br /&gt;
== You're done... ==&lt;br /&gt;
&lt;br /&gt;
That's it! Your own compiled [[aMule]] is installed on your system and ready to go.&lt;br /&gt;
&lt;br /&gt;
To run [[aMule]], just type &amp;lt;code&amp;gt;&amp;quot;amule&amp;quot;&amp;lt;/code&amp;gt;. You can check if everything worked by typing &amp;lt;code&amp;gt;&amp;quot;amule -v&amp;quot;&amp;lt;/code&amp;gt; and check if the displayed version corresponds with the one you were compiling/installing.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Final notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Win32_with_MinGW</id>
		<title>HowTo compile on Win32 with MinGW</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Win32_with_MinGW"/>
				<updated>2005-05-25T13:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&amp;lt;h2&amp;gt;Originally by '''Madcat'''&amp;lt;/h2&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page only supports the latest [[aMule_CVS|CVS]] version of [[aMule]].&lt;br /&gt;
&lt;br /&gt;
==  List of things you need to compile [[aMule]]  ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these require manually moving includes/libs into the right directories.&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/windows Windows] port of [http://gcc.gnu.org GNU C compiler] -&amp;gt; [http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
Minimal [http://www.gnu.org GNU] shell for [http://www.microsoft.com/windows Windows] -&amp;gt; [http://prdownloads.sf.net/mingw/MSYS-1.0.10.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
Developer toolkit for [http://www.mingw.org/msys.shtml MSys] (for [http://www.gnu.org/software/cvs CVS] &amp;amp; co) -&amp;gt; [http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/libiconv LibIConv] (required by [http://www.gnu.org/software/gettext gettext]) -&amp;gt;&lt;br /&gt;
[http://prdownloads.sf.net/mingw/libiconv-1.8.0-2003.02.01-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.gnu.org/software/gettext GetText] (for [http://www.gnu.org/software/gettext po files], [http://www.gnu.org/software/automake/automake.html autogen.sh], etc) -&amp;gt;&lt;br /&gt;
[http://prdownloads.sf.net/mingw/gettext-0.11.5-2003.02.01-1.exe?download Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.zlib.org zlib] compression library -&amp;gt;&lt;br /&gt;
[http://www.zlib.net/zlib-1.2.2.tar.gz Download]&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/windows Windows] port of [[wxWidgets]] library -&amp;gt;&lt;br /&gt;
[http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.0.zip Download]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Common guidelines, issues, solutions ==&lt;br /&gt;
&lt;br /&gt;
When compiling [[wxWidgets]], you should make use of the following configure flags:&lt;br /&gt;
''--disable-shared --without-checklistbox''&lt;br /&gt;
&lt;br /&gt;
Link statically against ''[http://www.zlib.org zlib]'' to avoid distributing extranous DLLs (and generally make life simpler). &lt;br /&gt;
&lt;br /&gt;
== Compilation ==&lt;br /&gt;
&lt;br /&gt;
The compilation itself is actually just a matter of following the usual method: ''./configure &amp;amp;&amp;amp; make''&lt;br /&gt;
&lt;br /&gt;
However, [http://www.zlib.org zlib] detection might fail. If that's the case, you need to add ''--with-zlib=/local/'' to your configure flags.&lt;br /&gt;
&lt;br /&gt;
==  Compiling with [http://www.parinya.ca/mingwstudio.html MinGW Studio]  ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The compilation with [http://www.parinya.ca/mingwstudio.html MinGW Studio] is deprecated right now and currently does not function. It might function again in the future.&lt;br /&gt;
&lt;br /&gt;
As of  2004/07/17, you can find, in [http://www.gnu.org/software/cvs CVS], the file ''amule.msp'' which is the project file relative to the [http://www.parinya.ca/mingwstudio.html MinGW Studio] IDE ([http://www.gnu.org/philosophy/free-sw.html Free] and under [http://www.gnu.org/copyleft/gpl.html GPL] at http://www.parinya.ca/ and shipped with precompiled [[wxWidgets|wxMSW]]). &lt;br /&gt;
&lt;br /&gt;
Install [http://www.parinya.ca/mingwstudio.html MinGW Studio], add [http://www.zlib.org Zlib] and [http://curl.haxx.se Curl] compiled libs in The [http://www.parinya.ca/mingwstudio.html MinGW Studio] tree.&lt;br /&gt;
&lt;br /&gt;
Then, open ''amule.msp'' with [http://www.parinya.ca/mingwstudio.html MinGW Studio], press '''F7''', and [[aMule]] &amp;quot;should&amp;quot; be compiled :)&lt;br /&gt;
&lt;br /&gt;
Yes, I know, &amp;quot;compile&amp;quot; is not the same as &amp;quot;work&amp;quot; ... But it is a great begining&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Solaris</id>
		<title>HowTo compile on Solaris</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_compile_on_Solaris"/>
				<updated>2005-03-20T15:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: Initial copy from forum post&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just wrote this little guide to help you all solaris fans. Hope this helps!&lt;br /&gt;
&lt;br /&gt;
COMPILING AMULE/AMULEWEB ON SOLARIS 10 x86&lt;br /&gt;
&lt;br /&gt;
*Install the pkg-get script from http://www.blastwave.org/pkg-get.php&lt;br /&gt;
&lt;br /&gt;
*Use the pkg-get script to install some required libraries, which do not come with solaris:&lt;br /&gt;
      autoconf&lt;br /&gt;
      automake&lt;br /&gt;
      gd&lt;br /&gt;
      gettext&lt;br /&gt;
      gtk/gtk2&lt;br /&gt;
      libpng&lt;br /&gt;
      These packages will install to /opt/csw tree&lt;br /&gt;
&lt;br /&gt;
*Set your path like this:&lt;br /&gt;
      PATH=/usr/local/bin:/opt/csw/bin:/usr/sfw/bin:/usr/bin&lt;br /&gt;
&lt;br /&gt;
*Simlink the GNU utilities in /usr/sfw/bin to their &amp;quot;right&amp;quot; names (gar=ar, gas=as, gld=ld, gmake=make, ggrep=grep,&lt;br /&gt;
      gtar=tar, etc...) somewhere in your path. I simlinked them to their same directory (/usr/sfw/bin)&lt;br /&gt;
&lt;br /&gt;
*Now, get the latest wxGTK package from www.wxwidgets.org and compile it. Install it to /usr/local. I have not&lt;br /&gt;
      tried compiling it with unicode support, nor against GTK2, so basically this is untested. But should work.&lt;br /&gt;
&lt;br /&gt;
*Get the latest amule CVS from http://amule.hirnriss.net and uncompress it somewhere.&lt;br /&gt;
&lt;br /&gt;
*Set these two environment wariables:&lt;br /&gt;
      CPPFLAGS='-I /opt/csw/include'&lt;br /&gt;
      LD_LIBRARY_PATH=/usr/local/lib:/opt/csw/lib:/usr/sfw/lib:/usr/lib&lt;br /&gt;
&lt;br /&gt;
*Configure amule like this:&lt;br /&gt;
      ./configure --enable-webserver&lt;br /&gt;
&lt;br /&gt;
*Type &amp;quot;make&amp;quot; (without the quotation marks), press &amp;lt;ENTER&amp;gt; and hope for the best.&lt;br /&gt;
&lt;br /&gt;
*If compilation went OK, you can now run amule!&lt;br /&gt;
      ./src/amule&lt;br /&gt;
*ENJOY!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This guide was used for compiling amule and amuleweb on Solaris 10 FCS, I have no idea if it will work or not on&lt;br /&gt;
previous/later solaris releases, but it should. Also, if you got amule compiled on other solaris than 10, please tell me how you did, or if this guide worked for you or any extra things you had to do, etc.&lt;br /&gt;
&lt;br /&gt;
WRITTEN BY Skolnick on March 6/2005&lt;br /&gt;
&lt;br /&gt;
Thanks goes to all the amule dev team, specially Kry, who helped me a lot, and ken for the CPPFLAGS tip.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Little_endian</id>
		<title>Little endian</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Little_endian"/>
				<updated>2005-03-15T12:28:57Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Example= typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction to [[endian]]ness ==&lt;br /&gt;
&lt;br /&gt;
Having read the [[endian]]ness article, you might already have an idea of what this is for.&lt;br /&gt;
&lt;br /&gt;
The [[endian]]ess defines the bytes' order in physical memory.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
&lt;br /&gt;
When you must store a two-bytes (or larger) value in memory, you can either store the first byte(s) in the first place or the second byte(s) in the first place.&lt;br /&gt;
&lt;br /&gt;
Little [[endian]] defines that the first bytes will go first.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
An example of a two-bytes number is 65534. This number requires two bytes to be stored in memory. The decimal number 65534 is represented, in hexadecimal, as FFFE (or 0xFFFE). Here we can see the two bytes: FF and FE.&lt;br /&gt;
&lt;br /&gt;
We can decide wether we want to place the FF byte first in memory or the FE byte first.&lt;br /&gt;
&lt;br /&gt;
Little [[endian]] tells us to place first the which whose numbers have less weight in the total number. That is FF, since FE here represents 254, while FF represents 65280.&lt;br /&gt;
&lt;br /&gt;
So, physically in memory we would have:&lt;br /&gt;
&lt;br /&gt;
                     _________________________&lt;br /&gt;
 Memory Graph:      |_____FE_____|_____FF_____|&lt;br /&gt;
 Memory Possitions:     000001       000002&lt;br /&gt;
&lt;br /&gt;
== Uses ==&lt;br /&gt;
&lt;br /&gt;
This [[endian]]ness is used (amongst others) in [http://www.intel.com x86], in [http://www.x86-64.org AMD64] and in [http://h18002.www1.hp.com/alphaserver/vax VAX] machines.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
To understand better the little [[endian]] concept it is helpful to compare it to the [[big endian]] concept.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Bug_tracker</id>
		<title>Bug tracker</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Bug_tracker"/>
				<updated>2005-03-15T12:22:45Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://bugs.amule.org aMule Bug Tracker] is where you should post your ''complains'' about [[aMule]].&lt;br /&gt;
&lt;br /&gt;
For suggestions, tips or any other stuff, please refer to [[aMule]]'s [[forum]]s or to [[aMule]]'s [[IRC]] channel.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Webserver</id>
		<title>Webserver</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Webserver"/>
				<updated>2005-03-02T14:20:30Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: =Webserver with aMule 2.0.0-rc1 or later=&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting up [[aMuleWeb|Webserver]] with [[aMule]] ==&lt;br /&gt;
&lt;br /&gt;
=== [[Webserver-1.2.x|Webserver with aMule 1.2.8 or earlier]] ===&lt;br /&gt;
&lt;br /&gt;
=== Webserver with [[aMule]] 2.0.0-rc1 or later ===&lt;br /&gt;
&lt;br /&gt;
*[http://www.gnu.org/software/tar/tar.html Untar] the sources and copy '''''src/aMule.tmpl''''' and '''''src/webserver/''''' into your '''''~/.aMule/''''' directory. The following (run from the sources directory), should do so:&lt;br /&gt;
:''$ cp -r src/aMule.tmpl src/webserver/ ~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
* If you installed [[aMule]] from rpm, then you can do:&lt;br /&gt;
:''$ cp /usr/share/amuleweb/aMule.tmpl ~/.aMule/''&lt;br /&gt;
:''$ cp -r /usr/share/amuleweb/webserver/ ~/.aMule/''&lt;br /&gt;
&lt;br /&gt;
*Go to &amp;quot;Preferences&amp;quot;-&amp;gt;&amp;quot;Remote Controls&amp;quot; (in [[aMule]]) and...&lt;br /&gt;
**Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
**Enable &amp;quot;Use TCP ports instead of unix local sockets&amp;quot;.&lt;br /&gt;
**Enter a password for external connections. If you don't do this, amuleweb will not communicate with amule.&lt;br /&gt;
&lt;br /&gt;
:'''NOTE:''' On some early [[aMule]] 2.0.0-rcX versions the above options weren't available (or didn't work). Use this if you want to run amuled, too. If you are using such [[aMule]] version and you don't wish to upgrade, then do the following:&lt;br /&gt;
&lt;br /&gt;
:Shutdown [[aMule]] if it is still running.&lt;br /&gt;
:Edit your ''~/.eMule'' file, locate the ''[ExternalConnect]'' section and change:&lt;br /&gt;
::''AcceptExternalConnections=1'' &amp;lt;-- To enable [[aMule]] listening for [[External Connections]].&lt;br /&gt;
::''ECUseTCPPort=1'' &amp;lt;-- To use the [http://www.faqs.org/faqs/internet/tcp-ip/resource-list TCP] port. Very important since [http://www.unix.org Unix] sockets are disabled.&lt;br /&gt;
::''ECPassword=ca3c365274907c6fd527068788e14639'' &amp;lt;-- To find the MD5 string for your password, do:&lt;br /&gt;
:::''$ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1''&lt;br /&gt;
:::''ca3c365274907c6fd527068788e14639''&lt;br /&gt;
&lt;br /&gt;
*Restart [[aMule]]&lt;br /&gt;
&lt;br /&gt;
*Go to your &amp;quot;Preferences&amp;quot;-&amp;gt;&amp;quot;Remote Controls&amp;quot; (in [[aMule]]) and setup your passwords here for [[External Connections]] and [[aMuleWeb|webserver]] login.&lt;br /&gt;
::'''NOTE:''' When you change your [[aMuleWeb|webserver]] and [[External Connections]] ports here, make sure to restart [[aMule]].&lt;br /&gt;
::'''NOTE:''' that ''&amp;quot;Enable [[aMuleWeb|Webserver]]&amp;quot;'' has no effect and will be renamed in 2.0.0rc8. [[aMuleWeb|Webserver]] is always enabled as long as you have [[External Connections]] enabled.&lt;br /&gt;
::'''NOTE:''' For users running [[aMuled|aMule Daemon]] you have to edit the ''.eMule'' file like shown above. For a way to setup a password check the [[Webserver-1.2.x|1.2.8 aMule HowTo]]. You can still do it in the same way.&lt;br /&gt;
&lt;br /&gt;
*Now you're done! You are ready to run [[aMuleWeb|amuleweb]] and connect to it.&lt;br /&gt;
&lt;br /&gt;
'''[[User:Stefanero|Stefanero]]'''&lt;br /&gt;
&lt;br /&gt;
=== Webserver with [[aMule]] 2.0.0 or later (starting from CVS 2005.02.27) ===&lt;br /&gt;
&lt;br /&gt;
*For users running the monotlithic [[aMule]] application:&lt;br /&gt;
**Go to &amp;quot;Preferences&amp;quot;-&amp;gt;&amp;quot;Remote Controls&amp;quot; (in [[aMule]]) and...&lt;br /&gt;
***Enable &amp;quot;Accept External Connections&amp;quot;.&lt;br /&gt;
***Enable &amp;quot;Use TCP ports instead of unix local sockets&amp;quot;.&lt;br /&gt;
***Enter a password for external connections. If you don't do this, amuleweb will not communicate with amule.&lt;br /&gt;
::'''NOTE:''' When you change your [[aMuleWeb|webserver]] and [[External Connections]] ports here, make sure to restart [[aMule]].&lt;br /&gt;
&lt;br /&gt;
*For users running the [[aMule|aMule daemon]]:&lt;br /&gt;
**Shutdown [[aMule|aMuled]] if it is still running.&lt;br /&gt;
**Edit your ''~/.eMule'' file, locate the ''[ExternalConnect]'' section and change:&lt;br /&gt;
***''AcceptExternalConnections=1'' &amp;lt;-- To enable [[aMule]] listening for [[External Connections]].&lt;br /&gt;
***''ECUseTCPPort=1'' &amp;lt;-- To use the [http://www.faqs.org/faqs/internet/tcp-ip/resource-list TCP] port. Very important since [http://www.unix.org Unix] sockets are disabled.&lt;br /&gt;
***''ECPassword=ca3c365274907c6fd527068788e14639'' &amp;lt;-- To find the MD5 string for your password, do:&lt;br /&gt;
:::''$ echo -n yourpasswordhere | md5sum | cut -d ' ' -f 1''&lt;br /&gt;
:::''ca3c365274907c6fd527068788e14639''&lt;br /&gt;
*Restart [[aMule|aMuled]]&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' In [[aMule]] version 2.0.0 and later you don't need to do any copy/link of [[aMuleWeb|webserver]] files.&lt;br /&gt;
&lt;br /&gt;
Thanks to [[User:Stefanero|Stefanero]], from who I shamelessly stole a lot from his tutorial.&lt;br /&gt;
&lt;br /&gt;
==== Skin support ====&lt;br /&gt;
&lt;br /&gt;
[[aMuleWeb|Webserver]] now looks for its files in a number of places:&lt;br /&gt;
*In your home directory: ''$HOME/.aMule/webserver/''[skin name]''/''&lt;br /&gt;
*And at it's install location, in this order.&lt;br /&gt;
&lt;br /&gt;
Default skin (template) name is 'default'.&lt;br /&gt;
&lt;br /&gt;
If, '''after installing''' [[aMule]], [[aMuleWeb|webserver]] refuses to run because of not being able to load template:&lt;br /&gt;
*please report this situation to us, and then&lt;br /&gt;
*create the directories ''webserver/default'' in the ''.aMule'' subdirectory of your home directory, and copy the contents of the ''src/webserver'' directory there from the [[aMule]] tarball (I mean to ''$HOME/.aMule/webserver/default''). [New record, four 'directory' word in one sentence :)]&lt;br /&gt;
&lt;br /&gt;
'''[[User:GonoszTopi|GonoszTopi]]'''&lt;br /&gt;
&lt;br /&gt;
== Connecting to [[aMuleWeb|amuleweb]] ==&lt;br /&gt;
&lt;br /&gt;
To run [[aMuleWeb]] run '''''amuleweb''''' on a terminal. For more information about running [[aMuleWeb]] check the [[aMuleWeb|aMuleWeb document]].&lt;br /&gt;
&lt;br /&gt;
Once [[aMuleWeb]] is running, open a web browser and connect to:&lt;br /&gt;
&lt;br /&gt;
''http://host:port''&lt;br /&gt;
&lt;br /&gt;
where ''host'' stands for your host's name (try with ''localhost'') and port stands for the [[aMuleWeb]] port ('''NOT''' the [[External Connections]] port).&lt;br /&gt;
&lt;br /&gt;
For example: ''http://localhost:4711''&lt;br /&gt;
&lt;br /&gt;
== Standard ports ==&lt;br /&gt;
&lt;br /&gt;
The ports can be set to anything, but this are the most used (the standard ones):&lt;br /&gt;
&lt;br /&gt;
*[[External Connections]]: 4712&lt;br /&gt;
*[[aMuleWeb|amuleweb]]: 4711&lt;br /&gt;
&lt;br /&gt;
Make sure you do not confuse with what each of them is.&lt;br /&gt;
&lt;br /&gt;
== Where to report problems and questions? ==&lt;br /&gt;
&lt;br /&gt;
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network</id>
		<title>FAQ network</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network"/>
				<updated>2005-02-27T16:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: mail adress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Network speed: what you should know before asking questions=&lt;br /&gt;
 by Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Preface==&lt;br /&gt;
The purpose of this document is to clarify different issues regarding network &lt;br /&gt;
speed that pops up from time to time in amule forum. Generally speaking, there're several reasons for questions about &amp;quot;amule &amp;amp;amp; network&amp;quot;:&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Speed reported by amule doesn't match provider given rate&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Poor performance of amule itself or another network application on the same computer&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;What are key factors influencing network performance while amule is running&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
Intended audience for this document are users who want to get better understanding of network functionality in general and in practical implication to amule functionality.&amp;lt;br&amp;gt;&lt;br /&gt;
This page, however, is not to be seen as comprehensive general purpose &amp;quot;Network &lt;br /&gt;
FAQ&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Network speed - how much is it ?==&lt;br /&gt;
While talking about network speed, people are using &amp;quot;bps&amp;quot; units, which mean &lt;br /&gt;
&amp;quot;bit per second&amp;quot;. The reason for &amp;lt;i&amp;gt;bit&amp;lt;/i&amp;gt; rather that &amp;lt;i&amp;gt;byte&amp;lt;/i&amp;gt; is pretty &lt;br /&gt;
match historical, but also have engineering motivation behind. This motivation &lt;br /&gt;
comes from the fact, that not all networks in the world are transferring bytes.&amp;lt;br&amp;gt;&lt;br /&gt;
There's also convention to use capital &amp;quot;B&amp;quot; in &amp;quot;Bps&amp;quot; when speed is marked &lt;br /&gt;
in &amp;quot;bytes per second&amp;quot;. However, this convention is not widely accepted. Particularly, organizations like IETF and IEEE are stick to original &amp;quot;bps&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Prefixes==&lt;br /&gt;
Since their invention, networks made quite a progress, and now we have networks &lt;br /&gt;
that transfers thousands and millions bits and more bits per second. For marking &lt;br /&gt;
those speeds, prefixes &amp;lt;i&amp;gt;&amp;quot;kilo&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;mega&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;giga&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;tera&amp;quot;&amp;lt;/i&amp;gt; &lt;br /&gt;
etc. are used. It is a &amp;lt;u&amp;gt;common mistake&amp;lt;/u&amp;gt; to think that values with those prefixes are the same as in computer science, i.e. powers of 2. The truth is that, for historical reasons, prefixes in networking have a decimal base, and not a binary one.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;table cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
 title=&amp;quot;Table 1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;Prefix&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;meaning in computers&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;meaning in networks&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;difference, %%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;K (kilo)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^10 = 1024&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^3 = 1000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;M (mega)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^20 = 1,048,576&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^6 = 1,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;5%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;G (giga)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^30 = 1,073,741,624&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^9 = 1,000,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;7%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;T (tera)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^40 = 1,099,511,627,776&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^12 = 1,000,000,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;9%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
As you can see from the table above the error in calculation is about 5% when the prefix &lt;br /&gt;
is incorrectly interpreted. Please note that the speed your provider tells &lt;br /&gt;
you is &amp;quot;speed in network&amp;quot;, i.e. calculated on decimal base. &amp;lt;br&amp;gt;&lt;br /&gt;
For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot; you &lt;br /&gt;
should understand that he means 256000/128000 bps. Which means, that you have&lt;br /&gt;
64000/16000 bytes per second speed in your link.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Protocol overhead - what is it about==&lt;br /&gt;
When amule is running, it constantly &amp;quot;talks&amp;quot; with other &amp;quot;mules&amp;quot; and servers. &lt;br /&gt;
This data exchange is needed to identify itself, request information about &lt;br /&gt;
available sources and files, perform searches and so on. Since this information &lt;br /&gt;
has no use for the user itself, it's called &amp;quot;overhead&amp;quot; i.e. inevitable addition &lt;br /&gt;
to the data you actually want to upload or download. Amule calls this &amp;quot;&amp;lt;i&amp;gt;connection &lt;br /&gt;
overhead&amp;lt;/i&amp;gt;&amp;quot;. However, the number amule presents, includes only the size of the actual&lt;br /&gt;
data that amule itself is sending to the network stack. Later, this data is&lt;br /&gt;
sent down to the net with more overhead - now of network protocols. How much&lt;br /&gt;
is it - lets see that in the next section.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Network overhead==&lt;br /&gt;
First of all - we're talking about IPv4 network. Once upon a time, there &lt;br /&gt;
was only one type of IP network. Now there's 2 - IP version &amp;amp;nbsp;4, the old&lt;br /&gt;
we all know; and IP version 6 - the new one. ED2K protocol by design, is&lt;br /&gt;
unable to talk over IPv6 network, so users who have it (in Japan and China &lt;br /&gt;
for example) will not be able to connect &amp;quot;as is&amp;quot;. Using IPv4 means, that each&lt;br /&gt;
packet (TCP, UDP, ICMP) will have IPv4 header. The minimum size of this header&lt;br /&gt;
is 20 bytes. Header can have optional parts (each 4 bytes) and it's up to&lt;br /&gt;
your provider &amp;amp;nbsp;- for example my add 1 option dword.&amp;lt;br&amp;gt;&lt;br /&gt;
When talking to other thing on ed2k network, amule uses the widely known TCP protocol.&lt;br /&gt;
UDP is also used, but in much smaller scale. As the reader might know, TCP is a reliable protocol, i.e. it's guaranteed that data which sent from one side will arrive on the other or an error will be reported. In order to achieve this, TCP send its own data in addition to the actual transfer. This data includes TCP client initial negotiation, checksums, sequence numbers and acknowledgments. All this is in the &amp;lt;i&amp;gt;TCP header&amp;lt;/i&amp;gt; which is added to each packet sent. The size of this header &lt;br /&gt;
is 20 bytes minimum. While being small overhead for large bulk transfer, it&lt;br /&gt;
can take significant part of bandwidth when small amounts of data are being&lt;br /&gt;
exchanged. &amp;lt;u&amp;gt;This is exactly what happens on source discovery part of amule&amp;lt;/u&amp;gt;.&lt;br /&gt;
Our client is trying to establish a connection and negotiate with a large number&lt;br /&gt;
of other clients. Doing this, amule opens new TCP connections &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;all the&lt;br /&gt;
time&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. The amount of those connections is controlled by the &amp;lt;i&amp;gt;&amp;quot;Maximum&lt;br /&gt;
number of connections in 5 seconds&amp;quot;&amp;lt;/i&amp;gt; setting in the preferences. A typical number&lt;br /&gt;
is about 100. Each TCP connection results in at least 3 packets traveling&lt;br /&gt;
the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST&lt;br /&gt;
when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
There's more overhead of DNS queries when an address is resolved, retries when a &lt;br /&gt;
host doesn't reply and so on.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===On low level:===&lt;br /&gt;
After passing TCP and IP layers packets go down to the network interface &lt;br /&gt;
driver. The kind of this driver depends on the way your computer is connected to the internet. For simplicity sake we will assume that this computer is connected to the ISP directly, i.e. you have no LAN (or switch or router) between. &lt;br /&gt;
Common setups that I'm aware of:&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Analog modem, connected to telephone line (ISDN modem falls in this category too)&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Cable modem, connected through ethernet, ISP gives you an IP address through DHCP&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Variation of above - modem connected to PC by USB.&amp;amp;nbsp;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
In each of above setups there are different protocols in use, and different headers added to transmitted packets. But there's one important thing to note: &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;ethernet frames traveling between cable/ADSL modem and PC don't reach the ISP&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. And consequently they are not counted in rate calculations. PPPoE and &lt;br /&gt;
PPTP headers, on the contrary &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;do reach the ISP&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. Whether or not &lt;br /&gt;
your particular provider includes them in rate calculations I obviously have &lt;br /&gt;
no idea about. For this reason I will exclude those headers from my calculations. &lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Example:===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection &lt;br /&gt;
is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
In this setup we have IPv4 packets sent over ethernet. &amp;lt;br&amp;gt;&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted&lt;br /&gt;
(successfully established TCP session). This alone sums up to (I'm counting data&lt;br /&gt;
going up - from my computer to the net):&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;i&amp;gt;10 connection * 2 packets * (20 bytes of TCP + 20 bytes of IPv4) = 800 bytes of overhead. &amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
This means that we are starting with&amp;amp;nbsp; 1.16*8 Kbps of &amp;quot;&amp;lt;i&amp;gt;invisible&amp;quot;&amp;lt;/i&amp;gt;&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side&lt;br /&gt;
and waits to receive an answer.&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;i&amp;gt;10 connections * (1 packet of data + 1 ACK)*(20 bytes of TCP + 20 bytes of IPv4) = 800&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt; bytes of overhead. &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: Most chances that your &lt;br /&gt;
link to provider is not that fast. &amp;amp;nbsp;Amule will &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;try&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt; to open&lt;br /&gt;
10 connections per second and will &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;try&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt; to upload on the specified &lt;br /&gt;
speed. Your operating system will share all available bandwidth between those and between amule and other network applications (browser for example). Actual results will vary depending on specific OS settings.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==ACK bottleneck==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in TCP protocol. When TCP is sending &lt;br /&gt;
data, it requires from the other side to acknowledge the reception. So if client &lt;br /&gt;
A is sending data to client B by TCP, B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets &lt;br /&gt;
in time, he will assume that either packet is lost. So, without going deeply &lt;br /&gt;
into TCP specification: &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;if B fails to send ACK to A, as a result A will&lt;br /&gt;
transmit slower&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Now let's see the situation in amule. We saw in the previous chapter, that the uplink &lt;br /&gt;
stream is congested by connection requests and uploads. As a result, there's a&lt;br /&gt;
good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;will not be sent &lt;br /&gt;
on time&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. The remote party will notice this and slow down. This is one &lt;br /&gt;
more reason why the upstream should better not be too congested.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Is there something I can do ?==&lt;br /&gt;
OK, now that you understood why your network is so slow while amule is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;. &lt;br /&gt;
The first thing you should do is to assign realistic rate limits in amule &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set amules upload limit to &lt;br /&gt;
16 (kilobytes per second) just because 128/8=16.&amp;lt;br&amp;gt;&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling &lt;br /&gt;
services of your OS. For example, you can give a higher priority to ACK packets &lt;br /&gt;
to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. The QoS topic, however, is beyond &lt;br /&gt;
scope of this article.&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Router (switch, home network):&amp;amp;nbsp; is there any difference ?==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real &lt;br /&gt;
life, and your particular device may have different idea about fairness. Since&lt;br /&gt;
you're not going to have the hardware specs of your router chipset the only&lt;br /&gt;
advice here is &amp;quot;try and see yourself&amp;quot;. &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network</id>
		<title>FAQ network</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network"/>
				<updated>2005-02-27T16:45:27Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: wicification, typos and grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Network speed: what you should know before asking questions=&lt;br /&gt;
 by Froenchenko Leonid, &amp;lt;a href=&amp;quot;lfroen@gmail.com&amp;quot;&amp;gt;lfroen@gmail.com&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==Preface==&lt;br /&gt;
The purpose of this document is to clarify different issues regarding network &lt;br /&gt;
speed that pops up from time to time in amule forum. Generally speaking, there're several reasons for questions about &amp;quot;amule &amp;amp;amp; network&amp;quot;:&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Speed reported by amule doesn't match provider given rate&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Poor performance of amule itself or another network application on the same computer&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;What are key factors influencing network performance while amule is running&lt;br /&gt;
   &amp;lt;/li&amp;gt;&lt;br /&gt;
 &amp;lt;/ul&amp;gt;&lt;br /&gt;
Intended audience for this document are users who want to get better understanding of network functionality in general and in practical implication to amule functionality.&amp;lt;br&amp;gt;&lt;br /&gt;
This page, however, is not to be seen as comprehensive general purpose &amp;quot;Network &lt;br /&gt;
FAQ&amp;quot;. &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Network speed - how much is it ?==&lt;br /&gt;
While talking about network speed, people are using &amp;quot;bps&amp;quot; units, which mean &lt;br /&gt;
&amp;quot;bit per second&amp;quot;. The reason for &amp;lt;i&amp;gt;bit&amp;lt;/i&amp;gt; rather that &amp;lt;i&amp;gt;byte&amp;lt;/i&amp;gt; is pretty &lt;br /&gt;
match historical, but also have engineering motivation behind. This motivation &lt;br /&gt;
comes from the fact, that not all networks in the world are transferring bytes.&amp;lt;br&amp;gt;&lt;br /&gt;
There's also convention to use capital &amp;quot;B&amp;quot; in &amp;quot;Bps&amp;quot; when speed is marked &lt;br /&gt;
in &amp;quot;bytes per second&amp;quot;. However, this convention is not widely accepted. Particularly, organizations like IETF and IEEE are stick to original &amp;quot;bps&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Prefixes==&lt;br /&gt;
Since their invention, networks made quite a progress, and now we have networks &lt;br /&gt;
that transfers thousands and millions bits and more bits per second. For marking &lt;br /&gt;
those speeds, prefixes &amp;lt;i&amp;gt;&amp;quot;kilo&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;mega&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;giga&amp;quot;&amp;lt;/i&amp;gt;, &amp;lt;i&amp;gt;&amp;quot;tera&amp;quot;&amp;lt;/i&amp;gt; &lt;br /&gt;
etc. are used. It is a &amp;lt;u&amp;gt;common mistake&amp;lt;/u&amp;gt; to think that values with those prefixes are the same as in computer science, i.e. powers of 2. The truth is that, for historical reasons, prefixes in networking have a decimal base, and not a binary one.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;table cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
 title=&amp;quot;Table 1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;Prefix&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;meaning in computers&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
 bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;meaning in networks&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
       &amp;lt;th valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot;&amp;gt;difference, %%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/th&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;K (kilo)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^10 = 1024&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^3 = 1000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;M (mega)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^20 = 1,048,576&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^6 = 1,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;5%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;G (giga)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^30 = 1,073,741,624&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^9 = 1,000,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;7%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;T (tera)&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;2^40 = 1,099,511,627,776&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;10^12 = 1,000,000,000,000&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;9%&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
       &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
       &amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;/tr&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
As you can see from the table above the error in calculation is about 5% when the prefix &lt;br /&gt;
is incorrectly interpreted. Please note that the speed your provider tells &lt;br /&gt;
you is &amp;quot;speed in network&amp;quot;, i.e. calculated on decimal base. &amp;lt;br&amp;gt;&lt;br /&gt;
For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot; you &lt;br /&gt;
should understand that he means 256000/128000 bps. Which means, that you have&lt;br /&gt;
64000/16000 bytes per second speed in your link.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Protocol overhead - what is it about==&lt;br /&gt;
When amule is running, it constantly &amp;quot;talks&amp;quot; with other &amp;quot;mules&amp;quot; and servers. &lt;br /&gt;
This data exchange is needed to identify itself, request information about &lt;br /&gt;
available sources and files, perform searches and so on. Since this information &lt;br /&gt;
has no use for the user itself, it's called &amp;quot;overhead&amp;quot; i.e. inevitable addition &lt;br /&gt;
to the data you actually want to upload or download. Amule calls this &amp;quot;&amp;lt;i&amp;gt;connection &lt;br /&gt;
overhead&amp;lt;/i&amp;gt;&amp;quot;. However, the number amule presents, includes only the size of the actual&lt;br /&gt;
data that amule itself is sending to the network stack. Later, this data is&lt;br /&gt;
sent down to the net with more overhead - now of network protocols. How much&lt;br /&gt;
is it - lets see that in the next section.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Network overhead==&lt;br /&gt;
First of all - we're talking about IPv4 network. Once upon a time, there &lt;br /&gt;
was only one type of IP network. Now there's 2 - IP version &amp;amp;nbsp;4, the old&lt;br /&gt;
we all know; and IP version 6 - the new one. ED2K protocol by design, is&lt;br /&gt;
unable to talk over IPv6 network, so users who have it (in Japan and China &lt;br /&gt;
for example) will not be able to connect &amp;quot;as is&amp;quot;. Using IPv4 means, that each&lt;br /&gt;
packet (TCP, UDP, ICMP) will have IPv4 header. The minimum size of this header&lt;br /&gt;
is 20 bytes. Header can have optional parts (each 4 bytes) and it's up to&lt;br /&gt;
your provider &amp;amp;nbsp;- for example my add 1 option dword.&amp;lt;br&amp;gt;&lt;br /&gt;
When talking to other thing on ed2k network, amule uses the widely known TCP protocol.&lt;br /&gt;
UDP is also used, but in much smaller scale. As the reader might know, TCP is a reliable protocol, i.e. it's guaranteed that data which sent from one side will arrive on the other or an error will be reported. In order to achieve this, TCP send its own data in addition to the actual transfer. This data includes TCP client initial negotiation, checksums, sequence numbers and acknowledgments. All this is in the &amp;lt;i&amp;gt;TCP header&amp;lt;/i&amp;gt; which is added to each packet sent. The size of this header &lt;br /&gt;
is 20 bytes minimum. While being small overhead for large bulk transfer, it&lt;br /&gt;
can take significant part of bandwidth when small amounts of data are being&lt;br /&gt;
exchanged. &amp;lt;u&amp;gt;This is exactly what happens on source discovery part of amule&amp;lt;/u&amp;gt;.&lt;br /&gt;
Our client is trying to establish a connection and negotiate with a large number&lt;br /&gt;
of other clients. Doing this, amule opens new TCP connections &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;all the&lt;br /&gt;
time&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. The amount of those connections is controlled by the &amp;lt;i&amp;gt;&amp;quot;Maximum&lt;br /&gt;
number of connections in 5 seconds&amp;quot;&amp;lt;/i&amp;gt; setting in the preferences. A typical number&lt;br /&gt;
is about 100. Each TCP connection results in at least 3 packets traveling&lt;br /&gt;
the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST&lt;br /&gt;
when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
There's more overhead of DNS queries when an address is resolved, retries when a &lt;br /&gt;
host doesn't reply and so on.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===On low level:===&lt;br /&gt;
After passing TCP and IP layers packets go down to the network interface &lt;br /&gt;
driver. The kind of this driver depends on the way your computer is connected to the internet. For simplicity sake we will assume that this computer is connected to the ISP directly, i.e. you have no LAN (or switch or router) between. &lt;br /&gt;
Common setups that I'm aware of:&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Analog modem, connected to telephone line (ISDN modem falls in this category too)&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Cable modem, connected through ethernet, ISP gives you an IP address through DHCP&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel&amp;lt;/li&amp;gt;&lt;br /&gt;
   &amp;lt;li&amp;gt;Variation of above - modem connected to PC by USB.&amp;amp;nbsp;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
In each of above setups there are different protocols in use, and different headers added to transmitted packets. But there's one important thing to note: &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;ethernet frames traveling between cable/ADSL modem and PC don't reach the ISP&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. And consequently they are not counted in rate calculations. PPPoE and &lt;br /&gt;
PPTP headers, on the contrary &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;do reach the ISP&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. Whether or not &lt;br /&gt;
your particular provider includes them in rate calculations I obviously have &lt;br /&gt;
no idea about. For this reason I will exclude those headers from my calculations. &lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Example:===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection &lt;br /&gt;
is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
In this setup we have IPv4 packets sent over ethernet. &amp;lt;br&amp;gt;&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted&lt;br /&gt;
(successfully established TCP session). This alone sums up to (I'm counting data&lt;br /&gt;
going up - from my computer to the net):&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;i&amp;gt;10 connection * 2 packets * (20 bytes of TCP + 20 bytes of IPv4) = 800 bytes of overhead. &amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
This means that we are starting with&amp;amp;nbsp; 1.16*8 Kbps of &amp;quot;&amp;lt;i&amp;gt;invisible&amp;quot;&amp;lt;/i&amp;gt;&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side&lt;br /&gt;
and waits to receive an answer.&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;i&amp;gt;10 connections * (1 packet of data + 1 ACK)*(20 bytes of TCP + 20 bytes of IPv4) = 800&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt; bytes of overhead. &amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: Most chances that your &lt;br /&gt;
link to provider is not that fast. &amp;amp;nbsp;Amule will &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;try&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt; to open&lt;br /&gt;
10 connections per second and will &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;try&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt; to upload on the specified &lt;br /&gt;
speed. Your operating system will share all available bandwidth between those and between amule and other network applications (browser for example). Actual results will vary depending on specific OS settings.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==ACK bottleneck==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in TCP protocol. When TCP is sending &lt;br /&gt;
data, it requires from the other side to acknowledge the reception. So if client &lt;br /&gt;
A is sending data to client B by TCP, B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets &lt;br /&gt;
in time, he will assume that either packet is lost. So, without going deeply &lt;br /&gt;
into TCP specification: &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;if B fails to send ACK to A, as a result A will&lt;br /&gt;
transmit slower&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Now let's see the situation in amule. We saw in the previous chapter, that the uplink &lt;br /&gt;
stream is congested by connection requests and uploads. As a result, there's a&lt;br /&gt;
good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;&amp;lt;i&amp;gt;will not be sent &lt;br /&gt;
on time&amp;lt;/i&amp;gt;&amp;lt;/u&amp;gt;. The remote party will notice this and slow down. This is one &lt;br /&gt;
more reason why the upstream should better not be too congested.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Is there something I can do ?==&lt;br /&gt;
OK, now that you understood why your network is so slow while amule is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;. &lt;br /&gt;
The first thing you should do is to assign realistic rate limits in amule &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set amules upload limit to &lt;br /&gt;
16 (kilobytes per second) just because 128/8=16.&amp;lt;br&amp;gt;&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling &lt;br /&gt;
services of your OS. For example, you can give a higher priority to ACK packets &lt;br /&gt;
to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. The QoS topic, however, is beyond &lt;br /&gt;
scope of this article.&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Router (switch, home network):&amp;amp;nbsp; is there any difference ?==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real &lt;br /&gt;
life, and your particular device may have different idea about fairness. Since&lt;br /&gt;
you're not going to have the hardware specs of your router chipset the only&lt;br /&gt;
advice here is &amp;quot;try and see yourself&amp;quot;. &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_aMuled</id>
		<title>HowTo Compile aMuled</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_aMuled"/>
				<updated>2005-02-26T14:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: fixed configure, some formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;1st&lt;br /&gt;
&lt;br /&gt;
download wxBase 2.5.4 from www.wxWidgets.org&lt;br /&gt;
unpack it, and do as user&lt;br /&gt;
*./configure --prefix=/usr/ &lt;br /&gt;
*make&lt;br /&gt;
as root &lt;br /&gt;
*make install &lt;br /&gt;
*ldconfig&lt;br /&gt;
&lt;br /&gt;
2nd&lt;br /&gt;
&lt;br /&gt;
*download amule-cvs !!! from http://amule.hirnriss.net &lt;br /&gt;
Don't use rc8, there was a severe bug concerning amuled in it!&lt;br /&gt;
&lt;br /&gt;
unpack it, and do as user&lt;br /&gt;
*./configure --enable-amulecmd --enable-webserver --disable-monolithic --enable-amule-daemon --prefix=/usr/local&lt;br /&gt;
*make&lt;br /&gt;
as root &lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That's it. You now have a working aMule-daemon in /usr/local/bin.&amp;lt;br&amp;gt;&lt;br /&gt;
Now you need to configure it, to create the .eMule file, which is the preferences file, run aMuled once. &amp;lt;br&amp;gt;&lt;br /&gt;
The .eMule file and the .aMule directory will be creted in the home directory of the user that ran aMule. &amp;lt;br&amp;gt;&lt;br /&gt;
You probably want amuleweb to controll your daemon. To be able to use that you need to enable external connections. Check this [http://www.amule.org/wiki/index.php/Webserver-1.2.x HowTo] &amp;lt;br&amp;gt;&lt;br /&gt;
I know it's for 1.2.x but since you dont have a GUI to setup everything this is what you want. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Where to report problems and questions? ==&lt;br /&gt;
&lt;br /&gt;
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]&lt;br /&gt;
&lt;br /&gt;
Stefanero&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Using_another_wxinstall</id>
		<title>Using another wxinstall</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Using_another_wxinstall"/>
				<updated>2005-02-24T21:54:20Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[Using another wxinstall-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there's already a version of [[wxWidgets]] installed, but you want [[aMule]] to use another (probably newer) one, here are the steps to follow:&lt;br /&gt;
&lt;br /&gt;
First, create the target directory (in this article, as an example, ''~/aMule/'' will be used), where [[wxWidgets]] and [[aMule]] will reside (they don't need to be in the same dir, but it makes life easier). Then configure [[wxWidgets]] and [[aMule]] accordingly (assuming [[wxWidgets]] 2.4.2 and current (=&amp;gt;rc8) aMule).&lt;br /&gt;
&lt;br /&gt;
It is recommended that you read the article about [[Compilation_Installation#Step_1:_wxGTK|how to compile wxGTK]] and (optionally, only if installing a [[wxWidgets]] version prior to 2.5) [[Compilation_Installation#Step_2:_wxBase|how to compile wxBase]]&lt;br /&gt;
&lt;br /&gt;
In [[aMule]] source dir:&amp;lt;br&amp;gt;&lt;br /&gt;
''./configure --prefix=~/aMule/ --enable-debug --disable-optimize --with-wx-config=/home/'''user'''/aMule/bin/wx-config --with-wxbase-config=/home/'''user'''/aMule/bin/wxbase-2.4-config''&amp;lt;br&amp;gt;&lt;br /&gt;
''make &amp;amp;&amp;amp; make install''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' On some distros, instead of ''--with-wx-config=/home/'''user'''/aMule/bin/wx-config'' you might need to use ''--with-wx-config=/home/'''user'''/aMule/bin/wxgtk-2.4-config''&lt;br /&gt;
&lt;br /&gt;
'''NOTE 2:''' Sometimes [[wxBase]] will overwrite ''wx-config''. You can know if it has done so by running ''wx-config --basename''. It should show ''wx_gtk''. If it doesn't, please reinstall [[wxGTK]] so it will overwritte ''wx-config'' to link it to the [[wxGTK]] file.&lt;br /&gt;
&lt;br /&gt;
On the above example, [[aMule]] binary will be installed in ''~/aMule/bin/'' directory.&lt;br /&gt;
&lt;br /&gt;
Also note that ''--with-wxbase-config=...'' should only be used with [[wxWidgets]] versions prior to 2.5.&lt;br /&gt;
&lt;br /&gt;
To start [[aMule]], you need to explicitely specifiy the LD path each time you run it:&lt;br /&gt;
&lt;br /&gt;
''export LD_LIBRARY_PATH=~/aMule/lib:$LD_LIBRARY_PATH''&amp;lt;br&amp;gt;&lt;br /&gt;
''export LC_ALL=en_EN.UTF-8''&lt;br /&gt;
&lt;br /&gt;
'''NOTE 3:''' On some systems the above export command does not work, you have instead to run&amp;lt;br&amp;gt;&lt;br /&gt;
''export LD_LIBRARY_PATH=~/aMule/lib/:$LD_LIBRARY_PATH''&amp;lt;br&amp;gt;&lt;br /&gt;
This has been observed on Debian and Gentoo Linux.&lt;br /&gt;
&lt;br /&gt;
Please remember to create [[Backtraces]] and provide them to the [[AMule_devs|aMule development team]].&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo</id>
		<title>HowTo Compile In Gentoo</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo"/>
				<updated>2005-02-23T22:19:00Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compiling a recent version of amule on Gentoo should be a breeze by just typing &lt;br /&gt;
'emerge -av amule'&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Stable amule from portage=&lt;br /&gt;
&lt;br /&gt;
If you just ''emerge amule'' you will most likely get the latest package that is marked as stable in portage. This is amule-1.2.8 which is more than 12 months old, lacks several bugfixes and features which could seriously lower your download or make it impossible to connect to some servers. So that is not really an option.&lt;br /&gt;
&lt;br /&gt;
=Unstable amule from portage=&lt;br /&gt;
Gentoo classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is amule2.0.0rc7. There is an (inofficial) ebuild for rc8, but as rc8 depends on wxGTK2.5.3 to build the amule daemon and wxGTK2.5.3 is hardmasked in portage it isn't available through portage.&lt;br /&gt;
&lt;br /&gt;
However, if rc7 is &amp;quot;new enough&amp;quot; for you enter the following things as root into a console:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this could give an error message if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'net-p2p/amule ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Recent amule manual installation=&lt;br /&gt;
Per 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, inpredictable behaviour and may even harm your pet dog! &lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.4.2==&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; echo 'x11-libs/wxGTK -gtk2 -unicode' &amp;gt;&amp;gt; /etc/portage/package-use&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.5.3==&lt;br /&gt;
If you want to use amuled then you need at least wxGTK2.5.3. This is currently hardmasked in portage due to problems when compiling with opengl support. 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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo '=x11-libs/wxGTK-2.5*' &amp;gt;&amp;gt; /etc/portage/package.unmask&amp;lt;br&amp;gt;&lt;br /&gt;
echo 'x11-libs/wxGTK ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK1.2 (recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -gtk2 -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK2 (not thoroughly tested yet):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling amule==&lt;br /&gt;
Grab either amule2.0.0rc8 from [http://www.amule.org http://www.amule.org] or (especially if you want to use amuled) a recent cvs tarball from [http://amule.hirnriss.net http://amule.hirnriss.net]. Untar it by entering &amp;lt;code&amp;gt;tar -xvjf aMule-foo.tar.bz2&amp;lt;/code&amp;gt; and cd to the new directory.&lt;br /&gt;
&lt;br /&gt;
check &amp;lt;code&amp;gt;./configure --help&amp;lt;/code&amp;gt; for a summary of all configure options. Pick the ones you want and run (as an example building the monolithic client and amulecmd)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;./configure --enable-amulecmd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configure output for errors and if everything seems fine type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. Once amule is done compiling change to a root account and type &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; to install amule. Now you're done and can start enjoying your amule experience.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo</id>
		<title>HowTo Compile In Gentoo</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo"/>
				<updated>2005-02-23T21:25:04Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compiling a recent version of amule on Gentoo should be a breeze by just typing &lt;br /&gt;
'emerge -av amule'&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Stable amule from portage=&lt;br /&gt;
&lt;br /&gt;
If you just ''emerge amule'' you will most likely get the latest package that is marked as stable in portage. This is amule-1.2.8 which is more than 12 months old, lacks several bugfixes and features which could seriously lower your download or make it impossible to connect to some servers. So that is not really an option.&lt;br /&gt;
&lt;br /&gt;
=Unstable amule from portage=&lt;br /&gt;
Gentoo classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is amule2.0.0rc7. There is an (inofficial) ebuild for rc8, but as rc8 depends on wxGTK2.5.3 to build the amule daemon and wxGTK2.5.3 is hardmasked in portage it isn't available through portage.&lt;br /&gt;
&lt;br /&gt;
However, if rc7 is &amp;quot;new enough&amp;quot; for you enter the following things as root into a console:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this could give an error message if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'net-p2p/amule ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Recent amule manual installation=&lt;br /&gt;
Per 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, inpredictable behaviour and may even harm your pet dog! &lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.4.2==&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; echo 'x11-libs/wxGTK -gtk2 -unicode' &amp;gt;&amp;gt; /etc/portage/package-use&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.5.3==&lt;br /&gt;
If you want to use amuled then you need at least wxGTK2.5.3. This is currently hardmasked in portage due to problems when compiling with opengl support. 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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo '=x11-libs/wxGTK-2.5*' &amp;gt;&amp;gt; /etc/portage/package.unmask&amp;lt;br&amp;gt;&lt;br /&gt;
echo 'x11-libs/wxGTK ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK1.2 (recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -gtk2 -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK2 (not thoroughly tested yet):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling amule==&lt;br /&gt;
Grab either amule2.0.0rc8 from [http://www.amule.org http://www.amule.org] or (especially if you want to use amuled) a recent cvs tarball from [http://amule.hirnriss.net http://amule.hirnriss.net]. Untar it by entering &amp;lt;code&amp;gt;tar -xvjf aMule-foo.tar.bz2&amp;lt;/code&amp;gt; and cd to the new directory.&lt;br /&gt;
&lt;br /&gt;
check &amp;lt;code&amp;gt;./configure --help&amp;lt;/code&amp;gt; for a summary of all configure options. Pick the ones you want and run (as an example building the monolithic client and amulecmd)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;./configure --enable-amulecmd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configure output for errors and if everything seems fine type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. Once amule is done compiling change to a root account and type &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; to install amule and you're done.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo</id>
		<title>HowTo Compile In Gentoo</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/HowTo_Compile_In_Gentoo"/>
				<updated>2005-02-23T21:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: initial article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compiling a recent version of amule on Gentoo should be a breeze by just typing &lt;br /&gt;
'emerge -av amule'&lt;br /&gt;
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 which will each have a different outcome.&lt;br /&gt;
&lt;br /&gt;
=Stable amule from portage=&lt;br /&gt;
&lt;br /&gt;
If you just ''emerge amule'' you will most likely get the latest package that is marked as stable in portage. This is amule-1.2.8 which is more than 12 months old, lacks several bugfixes and features which could seriously lower your download or make it impossible to connect to some servers. So that is not really an option.&lt;br /&gt;
&lt;br /&gt;
=Unstable amule from portage=&lt;br /&gt;
Gentoo classifies amule2.0.0rc ebuilds as unstable because they are ReleaseCandidates. The latest one available is amule2.0.0rc7. There is an (inofficial) ebuild for rc8, but as rc8 depends on wxGTK2.5.3 to build the amule daemon and wxGTK2.5.3 is hardmasked in portage it isn't available through portage.&lt;br /&gt;
&lt;br /&gt;
However, if rc7 is &amp;quot;new enough&amp;quot; for you enter the following things as root into a console:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this could give an error message if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'net-p2p/amule ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av amule&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Recent amule manual installation=&lt;br /&gt;
Per 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, inpredictable behaviour and may even harm your pet dog! &lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.4.2==&lt;br /&gt;
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):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; echo 'x11-libs/wxGTK -gtk2 -unicode' &amp;gt;&amp;gt; /etc/portage/package-use&amp;lt;br&amp;gt;&lt;br /&gt;
emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
==wxGTK2.5.3==&lt;br /&gt;
If you want to use amuled then you need at least wxGTK2.5.3. This is currently hardmasked in portage due to problems when compiling with opengl support. 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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /etc/portage&amp;lt;/code&amp;gt; (this may give you an error if the directory already exists, just ignore that)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo '=x11-libs/wxGTK-2.5*' &amp;gt;&amp;gt; /etc/portage/package.unmask&amp;lt;br&amp;gt;&lt;br /&gt;
echo 'x11-libs/wxGTK ~x86' &amp;gt;&amp;gt; /etc/portage/package.keywords&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK1.2 (recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -gtk2 -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to use GTK2 (not thoroughly tested yet):&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;echo 'x11-libs/wxGTK -unicode -opengl' &amp;gt;&amp;gt; /etc/portage/package.use&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;emerge -av wxGTK&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compiling amule==&lt;br /&gt;
Grab either amule2.0.0rc8 from [http://www.amule.org http://www.amule.org] or (especially if you want to use amuled) a recent cvs tarball from [http://amule.hirnriss.net http://amule.hirnriss.net]. Untar it by entering &amp;lt;code&amp;gt;tar -xvjf aMule-foo.tar.bz2&amp;lt;/code&amp;gt; and cd to the new directory.&lt;br /&gt;
&lt;br /&gt;
check &amp;lt;code&amp;gt;./configure --help&amp;lt;/code&amp;gt; for a summary of all configure options. Pick the ones you want and run (as an example building the monolithic client and amulecmd)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;./configure --enable-amulecmd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the configure output for errors and if everything seems fine type &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;. Once amule is done compiling change to a root account and type &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt; to install amule and you're done.&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Format_specifiers</id>
		<title>Format specifiers</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Format_specifiers"/>
				<updated>2005-02-09T01:04:25Z</updated>
		
		<summary type="html">&lt;p&gt;Thedude0001: typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] is being developed in the [http://www.icce.rug.nl/documents/cplusplus C++] programming language. This language alows to handle strings very easily but sometimes it needs a little tweaking in those strings.&lt;br /&gt;
&lt;br /&gt;
When [[translations|translating aMule]], you might encounter with strange things. Sometimes this will be just typos, but sometimes they are there on purpose.&lt;br /&gt;
&lt;br /&gt;
This document is a '''must read''' for anyone willing or actually [[translations|translating aMule]]. It describes all the cases of groups of characters which '''should not''' ever be modified.&lt;br /&gt;
&lt;br /&gt;
So, the following is a description of all the groups of characters which are '''not''' supposed to be modified and what they actually mean.&lt;br /&gt;
&lt;br /&gt;
== Escape codes ==&lt;br /&gt;
&lt;br /&gt;
=== Non-representable [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] codes ===&lt;br /&gt;
&lt;br /&gt;
This are codes which represent characters of the [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] codeset which aren't representable with the keyboard.&lt;br /&gt;
*''\a'' -&amp;gt; This will normally cause an audible alert (sometimes visual) like a beep&lt;br /&gt;
*''\b'' -&amp;gt; Will go back one character&lt;br /&gt;
*''\f'' -&amp;gt; On most systems this will clean the screen&lt;br /&gt;
*''\n'' -&amp;gt; Ends the current line and starts a new one, palcing the cursor at the begining&lt;br /&gt;
*''\r'' -&amp;gt; Goes to the beggining of the current line&lt;br /&gt;
*''\t'' -&amp;gt; Torizontal tabulation&lt;br /&gt;
*''\v'' -&amp;gt; Vertical tabulation&lt;br /&gt;
*''\&amp;lt;octal digits&amp;gt;'' -&amp;gt; Will display the value ''octal digits'' in octal&lt;br /&gt;
*''\x&amp;lt;hex digits&amp;gt;'' -&amp;gt; Will display the value ''hex digits'' in hexadecimal&lt;br /&gt;
&lt;br /&gt;
=== Disambiguation escape codes ===&lt;br /&gt;
&lt;br /&gt;
The following are not characters non-representable on the keyboard, but due to limitations in the [http://www.icce.rug.nl/documents/cplusplus C++] programming language, are needed to be used this way:&lt;br /&gt;
*''\?'' -&amp;gt; Displays a question mark ( ''?'' ) to avoid trigraph translations (not all compilers support trigraph translating, so it's not allways necessary)&lt;br /&gt;
*''\\'' -&amp;gt; Displays a backslash ( ''\'' )&lt;br /&gt;
*''\'' -&amp;gt; Displays a single quote ('' ' '')&lt;br /&gt;
*''\&amp;quot;'' -&amp;gt; Displays a double quote ('' &amp;quot; '')&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
The following are some examples for the above escape codes. They are listed as couples of code-line + output. So, the first line represents the line in the way it is written into the [http://www.icce.rug.nl/documents/cplusplus C++] code and the second line (or group of lines if it needs more than one line) represents how that [http://www.icce.rug.nl/documents/cplusplus C++] code line is displayed on execution:&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;[[User:Jacobo221|Jacobo221]] is an angel\aOh, true, I am not.&amp;quot;''&lt;br /&gt;
**Output: ''[[User:Jacobo221|Jacobo221]] is an angelOh, true, I am not'' (A beep will be heard right after displaying the word ''angel'' and the next word (''Oh'') will not be displayed untill the beep finishes)&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;I have 6\b5 fingers in my right hand&amp;quot;''&lt;br /&gt;
**Output: ''I have 5 fingers in my right hand''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;Where is the &amp;lt;RETURN&amp;gt; key???\nAh, here it is!&amp;quot;''&lt;br /&gt;
**Output: ''Where is the &amp;lt;RETURN&amp;gt; key???''&amp;lt;br&amp;gt;''Ah, here it is!''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;I am a BIG lier\rI'm married with Marilyn Monroe&amp;quot;''&lt;br /&gt;
**Output: ''I'm married with Marilyn Monroe''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;\141\115\165\x6C\x65&amp;quot;''&lt;br /&gt;
**Output: ''aMule'' (Notice that the octal value of ''a'' in the [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] codeset is 141, the octal value of ''M'' is 115, the octal value of ''u'' is 165, the hexadecimal value of ''l'' is 6C and the hexadecimal value of ''e'' is 65)&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;Isn\'t it complicated to use the \&amp;quot; and \\ characters\?&amp;quot;''&lt;br /&gt;
**Output: ''Isn't it complicated to use the &amp;quot; and \ characters?''&lt;br /&gt;
&lt;br /&gt;
== Format specifiers ==&lt;br /&gt;
&lt;br /&gt;
=== Basic format specifiers ===&lt;br /&gt;
&lt;br /&gt;
Format specifiers are groups of characters which will be substituted with something else. The format specifier itself specified which type of data it will be substituted with:&lt;br /&gt;
*''%d'' -&amp;gt; Decimal value (signed integer type). Equivalen to %i&lt;br /&gt;
*''%i'' -&amp;gt; Decimal value (signed integer type). Equivalen to %d&lt;br /&gt;
*''%u'' -&amp;gt; Natural number (unsigned integer type).&lt;br /&gt;
*''%x'' -&amp;gt; Hexadecimal value represented with lowercase characters (unsigned integer type)&lt;br /&gt;
*''%X'' -&amp;gt; Hexadecimal value represented with uppercase characters (unsigned integer type)&lt;br /&gt;
*''%o'' -&amp;gt; Octal value (unsigned integer type)&lt;br /&gt;
*''%f'' -&amp;gt; Rational number (number with a floating point) with the normal (showing all numbers) notation (both float and double types)&lt;br /&gt;
*''%e'' -&amp;gt; Rational number (number with a floating point) with exponential notation using lowercase ''e'' (both float and double types)&lt;br /&gt;
*''%E'' -&amp;gt; Rational number (number with a floating point) with exponential notation using uppercase ''E'' (both float and double types)&lt;br /&gt;
*''%g'' -&amp;gt; Rational number (number with a floating point) with normal or exponential notation depending on the value. If exponential, a lowercase ''e'' will be used  (both float and double types)&lt;br /&gt;
*''%G'' -&amp;gt; Rational number (number with a floating point) with normal or exponential notation depending on the value. If exponential, an uppercase ''E'' will be used  (both float and double types)&lt;br /&gt;
*''%c'' -&amp;gt; A single character text representation (integer type)&lt;br /&gt;
*''%s'' -&amp;gt; A string (array, pointer of integers type)&lt;br /&gt;
*''%p'' -&amp;gt; Displays a memory addess (pointer type)&lt;br /&gt;
*''%n'' -&amp;gt; The variable that is assigned to this format specifier will be given the value of the number of characters displayed up to know (integer type)&lt;br /&gt;
&lt;br /&gt;
=== Type extensions ===&lt;br /&gt;
&lt;br /&gt;
Sometimes, some characters can be inserted between ''%'' and the character representing the type of data. This insterted characters are meant to extend the information about the type of data the format specifier is going to be substituted with:&lt;br /&gt;
*''h'' -&amp;gt; Will turn into short integer type. Valid for ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' and ''n''.&lt;br /&gt;
*''l'' -&amp;gt; Will turn into long integer type. Valid for for ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' and ''n''.&lt;br /&gt;
*''L'' -&amp;gt; Will turn into long double type. Valid for 'e'', ''E'', ''f'', ''F'', ''g'', ''G''&lt;br /&gt;
&lt;br /&gt;
=== Output tweaks ===&lt;br /&gt;
&lt;br /&gt;
Also, some of the format specifiers allow to tweak a bt how they should be outputted. This tweaking codes must be inserted between ''%'' and the type character:&lt;br /&gt;
*''-'' -&amp;gt; Aligns to the left&lt;br /&gt;
*''+'' -&amp;gt; Prints plus ( ''+'' ) sign even when the number is positive. Valid for *''d'', ''i'', ''e'', ''E'', ''f'', ''g'' and ''G''.&lt;br /&gt;
*''0'' -&amp;gt; Fill the blank spaces with zeros ( ''0'' ) instead of spaces. Valid for *''d'', ''i'', ''u'', ''x'', ''X'', ''o'', ''e'', ''E'', ''f'', ''g'' and ''G''.&lt;br /&gt;
*''#'' -&amp;gt; It will act in different ways depending on the type of data:&lt;br /&gt;
**''o': A zero ( ''0'' ) will be prepended when the data is non-zero.&lt;br /&gt;
**''x'' and ''X'': Prepends a zero ( ''0'' ) to the data.&lt;br /&gt;
**''f'', ''e'', ''E'', ''g'' and ''G'': Displays the decimal point even when the data is an integer (no decimals).&lt;br /&gt;
**''g'' and ''G'': The trailing zeros are not removed.&lt;br /&gt;
*''&amp;lt;non-zero decimal value&amp;gt;'' -&amp;gt; Specifies the minimum width the data must occupy (if not all is occupied, it will be padded). Can be used together with ''0''.&lt;br /&gt;
*''.&amp;lt;decimal value&amp;gt;'' -&amp;gt; It will act in different ways depending on the type of data:&lt;br /&gt;
**''f'', ''e'' and ''E'': Specify the amount of decimals it is allowed to display (if ''.0'', no decimals will be displayed).&lt;br /&gt;
**''s'': Maximum amount of characters to display (if ''.0'', no characters will be displayed).&lt;br /&gt;
*''%%'' -&amp;gt; This is not a format specifier, instead, it is only meant to be used to avoid ambiguousity. It will display a single ''%'' character.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
The following are some examples for the above format specifiers. They are listed as couples of code-line + output. So, the first line represents the line in the way it is written into the [http://www.icce.rug.nl/documents/cplusplus C++] code and the second line (or group of lines if it needs more than one line) represents. The data for which the format specifiers are being substituted is random (well, not really random, I've just set something meaning-full in each example):&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;I am %s and I am %d years old.&amp;quot;''&lt;br /&gt;
**Output: ''I am [[User:Jacobo221|Jacobo221]] and I am 19 years old.''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;The first letter in the english alphabet is %c&amp;quot;''&lt;br /&gt;
**Output: ''The first letter in the english alphabet is A''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;There exists a format specifier which is %%%c&amp;quot;''&lt;br /&gt;
**Output: ''There exists a format specifier which is %E''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;There exists a format specifier which is %%c&amp;quot;''&lt;br /&gt;
**Output: ''There exists a format specifier which is %c''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;%E and %e are the same number&amp;quot;''&lt;br /&gt;
**Output: ''9.186329E+00 and 9.186329e+00 are the same number''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;%g is in normal notation while %g is in exponential notation&amp;quot;''&lt;br /&gt;
**Output: ''0.25 is in normal notation while 3.234234E+34 is in exponential notation''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;%+d is a positive number&amp;quot;''&lt;br /&gt;
**Output: ''+5 is a positive number''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;%05f says: Am I not 0-plenty?&amp;quot;''&lt;br /&gt;
**Output: ''000.250000 says: Am I not 0-plenty?''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;Both %#o and %#X start with a zero&amp;quot;''&lt;br /&gt;
**Output: ''Both 0345 and 065FC start with a zero''&lt;br /&gt;
&lt;br /&gt;
**Codeline: ''&amp;quot;%010x must be plenty of zeros&amp;quot;''&lt;br /&gt;
**Output: ''00000065fc must be plenty of zeros''&lt;br /&gt;
&lt;br /&gt;
**Codeline: ''&amp;quot;Pi number is %.2f&amp;quot;''&lt;br /&gt;
**Output: ''Pi number is 3.14''&lt;br /&gt;
&lt;br /&gt;
**Codeline: ''&amp;quot;Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: %.4s&amp;quot;''&lt;br /&gt;
**Output: ''Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: Fire''&lt;br /&gt;
&lt;br /&gt;
== Other stuff ==&lt;br /&gt;
&lt;br /&gt;
There are other things you must have in mind when translating. So keep on reading.&lt;br /&gt;
&lt;br /&gt;
=== Character cases ===&lt;br /&gt;
&lt;br /&gt;
The [http://www.icce.rug.nl/documents/cplusplus C++] programming language doesn't consider uppercase and lowercase letters as the same lettes. So, 'a' is a different letter from 'A' for [http://www.icce.rug.nl/documents/cplusplus C++] programs. In most cases, this will be insignificant for you, but when dealing with [[#Escape codes|escape codes]] and [[#Format specifiers|format specifiers]] it does, so please remain them the same.&lt;br /&gt;
&lt;br /&gt;
=== Leading and ending blank spaces ===&lt;br /&gt;
&lt;br /&gt;
You will sometimes find strings with either begin or end with a space. This is '''not''' a typo. That space is there for a reason. Most usually this reason is one of the following:&lt;br /&gt;
#Appearance. Maybe it separates the string from somewhere that, without this separation, would look ugly.&lt;br /&gt;
#Future additions. In 99% of the cases, it will be because some data is going to be appended to it. Imagine you find a string like ''I am ''. Although no ''%s'' format specifier is found there, some data is going to be added later anyway. So, if the blank space wasn't kept, once translated, in the app it would look like ''I amme'' instead of ''I am me''.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
The following are examples of the above cases explained. They are unified into groups of four lines. The first line shows an original string, the second one how it should be translated (the examples are translated into spanish),the third one a possible output and the fourth line translates the translated possible output back into english so that you can understand it in case you don't speak spanish:&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;[[aMule]] version &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot;[[aMule]] versión &amp;quot;''&lt;br /&gt;
**Output: ''[[aMule]] versión 2.0.0''&lt;br /&gt;
**Output (in english): ''[[aMule]] version 2.0.0''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; can become a %s [[aMule]] user&amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; puede llegar a ser un %s usuario de [[aMule]]&amp;quot;''&lt;br /&gt;
**Output: ''Cualquiera puede llegar a ser un feliz usuario de [[aMule]]''&lt;br /&gt;
**Output (in english): ''Anyone can become a happy [[aMule]] user''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; this line looks complete and the leading and ending spaces can be deleted because they seem typos &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error &amp;quot;''&lt;br /&gt;
**Output: ''Aunque esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error no lo es porque, como se puede ver, quedaban cosas por añadir, lo cual demuestra que '''nunca''' se deben eliminar esos espacios''&lt;br /&gt;
**Output (in english): ''Allthough this line looks complete and the leading and ending spaces can be deleted because they seem typos it is not because, as you can see, there were still words to be added, so this shows you why you should '''never''' delete those spaces''&lt;br /&gt;
&lt;br /&gt;
== Overall example ==&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
:Untranslated:&lt;br /&gt;
:''msgid=&amp;quot;I am %s and I a %d-year old\nand I\'m a happy \&amp;quot;aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Would become (translation to spanish):&lt;br /&gt;
:''msgid=&amp;quot;I am %s, %d years old\nand &amp;amp;I\'m a happy \&amp;quot;rabitty-aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;Soy %s y tengo %d años\ny soy un fel&amp;amp;iz usuario del \&amp;quot;conejillo-aMule\&amp;quot; &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
:Explanation:&lt;br /&gt;
:#''%s'' and ''%d'' '''must''' be copied literally since they will be substituted in the program with some string or number. General rule: anything between a character ''%'' and the next letter-character (that is, ''a'', ''b'', 'c'', etc...) or percentage character (''%'') must be copied literally.&lt;br /&gt;
:#''\n'' must be copied literally too since it brakes the line into a new line. The general rule is: ''\'' and it's very next character (can be ''\'', ''a'', ''n'', ''t'', '',f'', ''&amp;quot;'', ''&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'', etc) must be copied literally.&lt;br /&gt;
:#''&amp;amp;'' must be placed '''before'' the very same letter in the translation since it indicates the combination ALT+letter that will select that option.&lt;br /&gt;
:#The ending space is left since in the original message it was there. '''Never''' remove startng or ending spaces, even if they look ugly. They are there for some reason. Nomally this will be because either before or after that string comes another string. For example: ''&amp;quot;Opening file &amp;quot;'' has a blank space at the end, so you can expect that right after it the name of a file will be displayed. Something like ''Opening file server.met''&lt;/div&gt;</summary>
		<author><name>Thedude0001</name></author>	</entry>

	</feed>