Difference between revisions of "HowTo Compile In Slackware"

From AMule Project FAQ
Jump to: navigation, search
(Added updated info for aMule 2.2.1 on recent Slackware)
Line 1: Line 1:
<h1>Installing [[aMule]] 2.2.1 on [http://www.slackware.com Slackware] 12.0/12.1</h1>
+
<h1>Installing [[aMule]] on [http://www.slackware.com Slackware]</h1>
  
'''NOTE''': you will need super-user (usually ''root'') access to complete [[aMule]] install/uninstallation/update, also consider using [http://asic-linux.com.mx/~izto/checkinstall checkinstall] installed to manage packages.
+
<h1><font color=red>Someone should check how recent this Article is, and update it for 2.1.3 or better 2.2.0</font></h1>
 +
 
 +
<center><h2>by ''Mike (servnov)''</h2></center>
 +
<center><h4>wisecrackin' added by DexterF</h4></center>
 +
 
 +
'''NOTE''': you will need super-user (usually ''root'') access to complete [[aMule]] install/uninstallation/update, further you should have at least checkinstall installed.
 +
 
 +
 
 +
== Installation ==
 +
 
 +
=== Installing [[wxWidgets|wxGTK]] ===
 +
 
 +
:Download [[wxWidgets|wxGTK]] sources (.tar.gz packages) from
 +
:www.wxwidgets.org, latest is 2.6.2 as of 21st of Dec 05
 +
 
 +
:''tar -xzvf wxGTK*''
 +
:''cd wxGTK*''
 +
:''./configure --prefix=/usr --enable-unicode''
 +
:''make''
 +
 
 +
: After make finishes, it's about time to install the new files.
 +
: ''Usually'' this is done by becoming root and invoking
 +
 
 +
: # make install
 +
 
 +
: ''But:'' even better, use checkinstall or read up on how to
 +
: properly make Slackware packages on slackwiki.org.
 +
: checkinstall and selfmade packages can be handled by slackware's package
 +
: tools, which make upgrading and removing old cruft from previous
 +
: installs a breeze.
 +
: If the Slackwiki howto is a little too much for, stick to checkinstall for
 +
: the moment: become root
 +
 
 +
: ''$ su -''
 +
 
 +
: then just call
 +
 
 +
: ''# checkinstall''
 +
 
 +
: Just answer the questions and you're done.
 +
 
 +
 
 +
=== Installing [[wxBase]] (Optional) ===
 +
 
 +
:'''If you downloaded [[wxWidgets|wxGTK]] earlier than version 2.5 and you are planning to use [[aMule]] with command line interface (such as [[aMuleCMD]], [[aMuleWeb]], [[aMuled]], etc), then you you should install [[wxBase]]. In any other case, there's no need at all.'''
 +
 
 +
:Download [[wxBase]] sources (.tar.gz packages) from http://www.amule-project.net or http://www.amule.org and do the following:
 +
 
 +
:''tar -xzvf wxBase*''
 +
:''cd wxBase*''
 +
:''./configure''
 +
:''make''
 +
: #the following command '''must''' be run as super-user (usually ''root''):
 +
:''make install''
 +
 
 +
=== Installing [[aMule]] ===
 +
 
 +
:Grab pre-built [http://www.slackware.com Slackware] package from [http://www.linuxpackages.net/search_view.php?by=name&name=amule&ver= linuxpackages.net].
 +
 
 +
:''installpkg aMule-2.0.0rc7-i686-1.tgz'' (or whatever the newest version is)
 +
 
 +
:That's all!
 +
 
 +
:Type ''amule'' in a shell to lauch or in [http://www.kde.org KDE] (similar in [http://www.gnome.org GNOME]) go to Kstart->Internet->aMule
 +
 
 +
== Updating ==
 +
 
 +
:The following command will remove the old [[aMule]] package and install the new version:
 +
 
 +
:''upgradepkg aMule-2.0.0rc7-i686-1.tgz''
 +
 
 +
=== Compiling aMule from src ===
 +
 
 +
: Sometimes you might feel an urge to go cvs or simply don't want
 +
: to use prepackaged binaries because of paranoia, the packagers
 +
: are dodos or whatever.
 +
 
 +
:Download a src tarball at amule.org.
 +
:tar xzvf or tar xjvf the tarball.
 +
:Enter the dir
 +
: I use this configure call:
 +
:./configure --enable-amule-daemon --enable-amulecmd \
 +
:--enable-amulecmdgui --enable-webserver --enable-amule-gui \
 +
:--enable-cas --enable-alcc --enable-kad-compile --prefix=/usr
 +
 
 +
:this will give you the core, the monolithic, the webserver,
 +
:the stats program, the link handler, and... about everything.
 +
 
 +
:after that, run ''make'' and in the lucky case it finishes without
 +
:errors, follow installation instructions from wxGTK above.
 +
 
 +
 
 +
== Uninstallation ==
 +
 
 +
:The following command will remove [[aMule]]:
 +
 
 +
:''removepkg aMule''
 +
 
 +
== Final note ==
 +
 
 +
You can even get [[wxBase]] and [[wxWidgets|wxGTK]] .tgz [http://www.slackware.com Slackware] packages and install them with 'installpkg'. Using the [http://www.slackware.com Slackware] package manager saves time during installation and makes upgrading easy.
 +
You can also type 'pkgtool' as root and then search for the packages you have downloaded and install and/or remove packages.
 +
 
 +
Enjoy the hard work [[aMule]] [[AMule_devs|developers]] have done and continue to do!
 +
 
 +
Just remember you will need [[wxBase]] and [[wxWidgets|wxGTK]] installed even when using [http://www.slackware.com Slackware] package.
 +
 
 +
----
 +
 
 +
Hope this helps.
 +
 
 +
Catch me on [[IRC]] at [irc://irc.freenode.net irc.freenode.com] channel [irc://irc.freenode.net/amule #amule] nick '''servnov'''.
 +
 
 +
<h1>Installing [[aMule]] on [http://www.slackware.com Slackware] 12.0/12.1</h1>
  
 
<h2>Installation requirements</h2>
 
<h2>Installation requirements</h2>
Line 29: Line 142:
 
* libgd 2.0.35
 
* libgd 2.0.35
 
* zlib 1.2.3
 
* zlib 1.2.3
 
<h2>aMule prepackaged binaries</h2>
 
Provided your system satisfies the above mentioned requirements, grab a pre-built [http://www.slackware.com Slackware] package from [http://www.linuxpackages.net/search_view.php?by=name&name=amule&ver= linuxpackages.net] and install it (as root) with:
 
:''# installpkg aMule-x.y.z.tgz''
 
 
or if you simply need to upgrade the package:
 
 
:''# upgradepkg aMule-x.y.z.tgz''
 
 
Type ''amule'' in a shell to lauch or in [http://www.kde.org KDE] (similar in [http://www.gnome.org GNOME]) go to Kstart->Internet->aMule
 
 
If you want to ''remove'' aMule simply run:
 
 
:''# removepkg aMule-x.y.z.tgz''
 
  
 
<h2>Compiling aMule</h2>
 
<h2>Compiling aMule</h2>
  
* First install/upgrade the above mentioned packages. Then compile '''cryptopp''' (no special flags required) and '''wxGTK''' (if not already present) with the following flags:
+
* First install/upgrade the above mentioned packages. Then compile cryptopp (no special flags required) and wxGTK (if not already present) with the following flags:
  
 
:''$ ./configure --with-gtk --enable-unicode --enable-optimise''
 
:''$ ./configure --with-gtk --enable-unicode --enable-optimise''
:''$ make''
 
:''$ su <insert password>''
 
:''# make install''
 
  
Even better, you can use checkinstall or read up on how to properly make Slackware packages on slackwiki.org. Checkinstall and selfmade packages can be handled by Slackware's package tools, which make upgrading and removing old cruft from previous installs a breeze. If the Slackwiki howto is a little too much for, stick to checkinstall for the moment:
+
* Then compile aMule. Run the "configure" with the following parameters for a complete install:
 
+
: become root
+
 
+
: ''$ su -''
+
 
+
: then just call
+
 
+
: ''# checkinstall''
+
 
+
: Just answer the questions and you're done.
+
 
+
<h3>Installing [[wxBase]] (Optional)</h3>
+
 
+
If you downloaded [[wxWidgets|wxGTK]] earlier than version 2.5 and you are planning to use [[aMule]] with command line interface (such as [[aMuleCMD]], [[aMuleWeb]], [[aMuled]], etc), then you you should install [[wxBase]]. In any other case, there's no need at all.
+
 
+
Download [[wxBase]] sources (.tar.gz packages) from http://www.amule-project.net or http://www.amule.org and do the following:
+
 
+
:''$ tar -xzvf wxBase*''
+
:''$ cd wxBase*''
+
:''$ ./configure''
+
:''$ make''
+
:''$ su <insert password>''
+
:''# make install''
+
 
+
* Then compile '''aMule'''. Run the "configure" with the following parameters for a complete install:
+
  
 
:''$ ./configure --with-denoise-level=3 <br>
 
:''$ ./configure --with-denoise-level=3 <br>
Line 100: Line 171:
 
:$ make
 
:$ make
  
:If you have a multi-core CPU you can speedup the compilation adding the parameter "-j" according to the number of logical/phisical CPUs detected on your system, example for a dual-core CPU:
+
::If you have a multi-core CPU you can speedup the compilation adding the parameter "-j" according to the number of logical/phisical CPUs detected on your system, example for a dual-core CPU:
  
 
:$ make -j 2  
 
:$ make -j 2  
Line 106: Line 177:
 
* If no error arise, you can run (as root):
 
* If no error arise, you can run (as root):
  
:<code># make install</code>
+
:# make install
 
 
 
* Finally run the "amule" executable:
 
* Finally run the "amule" executable:
Line 132: Line 203:
 
* Then create the package:
 
* Then create the package:
  
:<code>$ cd ..</code>
+
:$ cd ..
:<code>$ ls</code>
+
:$ ls
:<code>install usr</code>
+
:install usr
:<code>$ makepkg aMule-x.y.z.tgz</code>
+
:$ makepkg aMule-x.y.z.tgz
  
 
* Test your build and then notify the forum posting the ed2k link (set to ''release'' priority the file) ;-)
 
* Test your build and then notify the forum posting the ed2k link (set to ''release'' priority the file) ;-)
 
<h2>Final note</h2>
 
 
Enjoy the hard work [[aMule]] [[AMule_devs|developers]] have done and continue to do!
 
 
Catch me on [[IRC]] at [irc://irc.freenode.net irc.freenode.com] channel [irc://irc.freenode.net/amule #amule] nick '''servnov'''.
 
 
Or post your questions on the [http://forum.amule.org forum].
 

Revision as of 21:31, 26 June 2008

Installing aMule on Slackware

Someone should check how recent this Article is, and update it for 2.1.3 or better 2.2.0

by Mike (servnov)

wisecrackin' added by DexterF

NOTE: you will need super-user (usually root) access to complete aMule install/uninstallation/update, further you should have at least checkinstall installed.


Installation

Installing wxGTK

Download wxGTK sources (.tar.gz packages) from
www.wxwidgets.org, latest is 2.6.2 as of 21st of Dec 05
tar -xzvf wxGTK*
cd wxGTK*
./configure --prefix=/usr --enable-unicode
make
After make finishes, it's about time to install the new files.
Usually this is done by becoming root and invoking
# make install
But: even better, use checkinstall or read up on how to
properly make Slackware packages on slackwiki.org.
checkinstall and selfmade packages can be handled by slackware's package
tools, which make upgrading and removing old cruft from previous
installs a breeze.
If the Slackwiki howto is a little too much for, stick to checkinstall for
the moment: become root
$ su -
then just call
# checkinstall
Just answer the questions and you're done.


Installing wxBase (Optional)

If you downloaded wxGTK earlier than version 2.5 and you are planning to use aMule with command line interface (such as aMuleCMD, aMuleWeb, aMuled, etc), then you you should install wxBase. In any other case, there's no need at all.
Download wxBase sources (.tar.gz packages) from http://www.amule-project.net or http://www.amule.org and do the following:
tar -xzvf wxBase*
cd wxBase*
./configure
make
#the following command must be run as super-user (usually root):
make install

Installing aMule

Grab pre-built Slackware package from linuxpackages.net.
installpkg aMule-2.0.0rc7-i686-1.tgz (or whatever the newest version is)
That's all!
Type amule in a shell to lauch or in KDE (similar in GNOME) go to Kstart->Internet->aMule

Updating

The following command will remove the old aMule package and install the new version:
upgradepkg aMule-2.0.0rc7-i686-1.tgz

Compiling aMule from src

Sometimes you might feel an urge to go cvs or simply don't want
to use prepackaged binaries because of paranoia, the packagers
are dodos or whatever.
Download a src tarball at amule.org.
tar xzvf or tar xjvf the tarball.
Enter the dir
I use this configure call:
./configure --enable-amule-daemon --enable-amulecmd \
--enable-amulecmdgui --enable-webserver --enable-amule-gui \
--enable-cas --enable-alcc --enable-kad-compile --prefix=/usr
this will give you the core, the monolithic, the webserver,
the stats program, the link handler, and... about everything.
after that, run make and in the lucky case it finishes without
errors, follow installation instructions from wxGTK above.


Uninstallation

The following command will remove aMule:
removepkg aMule

Final note

You can even get wxBase and wxGTK .tgz Slackware packages and install them with 'installpkg'. Using the Slackware package manager saves time during installation and makes upgrading easy. You can also type 'pkgtool' as root and then search for the packages you have downloaded and install and/or remove packages.

Enjoy the hard work aMule developers have done and continue to do!

Just remember you will need wxBase and wxGTK installed even when using Slackware package.


Hope this helps.

Catch me on IRC at irc.freenode.com channel #amule nick servnov.

Installing aMule on Slackware 12.0/12.1

Installation requirements

In order to compile aMule 2.2.1 on Slackware 12.0/12.1 you need the following packages:


The minimum GCC version declared into the file docs/INSTALL appears to be obsolete as I encountered the following error:

amule: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by amule)


Other packages - system libs rather strictly aMule related - that are needed: these are mentioned at the end of the configure summary of aMule.

  • regex system
  • libintl system
  • libpng 1.2.18
  • libgd 2.0.35
  • zlib 1.2.3

Compiling aMule

  • First install/upgrade the above mentioned packages. Then compile cryptopp (no special flags required) and wxGTK (if not already present) with the following flags:
$ ./configure --with-gtk --enable-unicode --enable-optimise
  • Then compile aMule. Run the "configure" with the following parameters for a complete install:
$ ./configure --with-denoise-level=3
--enable-optimize
--enable-verbose
--enable-geoip
--enable-wxcas
--enable-amule-gui
--enable-amulecmd
--enable-amule-daemon
--enable-alc
--enable-alcc
--enable-cas
--disable-debug
--enable-webserver
--enable-ccache (optional, compiling speedup)
--prefix=/your/install/path (optional, if different than /usr/local)
  • If you are satisfied of the summary that is shown, run:
$ make
If you have a multi-core CPU you can speedup the compilation adding the parameter "-j" according to the number of logical/phisical CPUs detected on your system, example for a dual-core CPU:
$ make -j 2
  • If no error arise, you can run (as root):
  1. make install
  • Finally run the "amule" executable:
$ amule &

Building a Slackware package

The steps I followed to build a package change just a little.

  • First I have installed amule in a different, dedicated path in order to check exactly the results, e.g. adding the following parameter to the configure script:
--prefix=/home/$(whoami)/tmp/amule/usr
Remember to append "/usr" at the end of the path.
  • After installing ("make && make install"), strip down all the binaries with the following command in order to squeeze package size (a lot!):
$ cd /home/$(whoami)/tmp/amule/usr/bin
$ for i in alc alcc amule amulecmd amuled amulegui amuleweb cas ed2k wxcas; do strip $i; done
$ cd ../..
$ md install
$ cd install
Here edit "slack-required" and "slack-desc" files according to SlackBuild guidelines. I was lazy and just copied them from another recent Slackware aMule package (changing the relevant requirements).
  • Then create the package:
$ cd ..
$ ls
install usr
$ makepkg aMule-x.y.z.tgz
  • Test your build and then notify the forum posting the ed2k link (set to release priority the file) ;-)