HowTo Compile In Slackware-it
Contents
Installare aMule 2.2.* su Slackware 12.*
NOTA: E' necessario impersonare il super-utente (generalmente root) per completare la procedura di installazione/aggiornamento di aMule. Si consideri anche la possibilità di usare checkinstall per gestire i pacchetti.
Richieste di sistema
Per poter compilare aMule 2.2.* su una Slackware 12.* sono necessari i seguenti pacchetti. Le versioni suggerite sono quelle distribuite con Slackware 12.* o quelle testate:
- geoip >= 1.4.4 (da http://slacky.eu)
- libupnp 1.6.6 (Se si vuole utilizzare la funzionalità UPnP, scaricare il pacchetto dei sorgenti da http://pupnp.sf.net)
- cryptopp 5.5.2 (da http://slacky.eu)
- wxWidgets => 2.8.* (http://www.wxwidgets.org o un pacchetto precompilato da http://www.slacky.eu)
- Se si usa Slackware 12.0 aggiornare il pacchetto gcc with >= 4.2.3-i486-1 (http://packages.slackware.it)
- Se si usa Slackware 12.0 aggiornare il pacchetto gcc-g++ with >= 4.2.3-i486-1 (http://packages.slackware.it)
- (facoltativo) il pacchetto ccache-2.4-i486-1 se si vuole velocizzare la compilazione
La versione minima del GCC dichiarata nel file docs/INSTALL sembra essere obsoleta dal momento che ho riscontrato il seguente errore:
amule: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by amule)
Altri pacchetti - librerie di sistema - che sono necessarie: sono menzionate alla fine nel riassunto mostrato alla fine del comando configure di aMule.
- regex system
- libintl system
- libpng 1.2.18
- libgd 2.0.35
- zlib 1.2.3
Binari precompilati di aMule
Se il vostro sistema soddisfa i requisiti di aMule sopra menzionati, è possibile scaricare un pacchetto precompilato per Slackware da linuxpackages.net e installarlo (come root) con:
- # installpkg aMule-x.y.z.tgz
o se si vuole semplicemente aggiornare il pacchetto:
- # upgradepkg aMule-x.y.z.tgz
Digitare amule al prompt della shell per lanciare aMule o eseguire la voce di menu Kstart->Internet->aMule creata in KDE o (voce simile in) GNOME
Se si vuole rimuovere aMule eseguire:
- # removepkg aMule-x.y.z.tgz
Compilare aMule
- Per prima cosa installare/aggiornare i pacchetti sopra menzionati. Poi compilare la libreria cryptopp (nessun flag speciale da passare al configure) e aMule con i seguenti parametri (per un'installazione completa):
- $ ./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-ccache --enable-webserver
- $ make
- $ su <inserire password>
- # make install
Meglio ancora, si può utilizzare checkintall per gestire i pacchetti Slackware o leggere come crearne su slackwiki.org. Checkintall può gestire pacchetti nel formato Slackware creati sul proprio host, il che rende più semplice l'aggiornamento o la rimozione di spazzatura generata da precedenti installazioni. Se le istruzioni su slackwiki.org non sono proprio alla vostra portata, per il momento utilizzate solo checkinstall:
- impersonare root
- $ su -
- eseguire semplicemente
- # checkinstall
- Rispondere alle domande ed avete fatto.
Installare wxBase (facoltativo)
Se avete scaricato una versione di wxGTK meno recente della 2.5 e volete usare aMule anche da linea di comando o con altre interfacce (esempio aMuleCMD, aMuleWeb, aMuled, ecc.), si deve procedere all'installazione delle librerie wxBase. In ogni altro caso, non ce n'è bisogno.
Scaricare i sorgenti di wxBase (pacchetto .tar.gz) da http://www.amule-project.net o http://www.amule.org ed eseguire quanto segue:
- $ tar -xzvf wxBase*
- $ cd wxBase*
- $ ./configure
- $ make
- $ su <inserire password>
- # make install
- Compilare aMule. Eseguire il configure con i parametri specificati in precedenza:
- Se si è soddisfatti del riassunto mostrato alla fine, eseguire:
- $ make
- Se si dispone di una CPU multi-core, si può velocizzare la compilazione aggiungendo il parametro "-j" secondo il numero di CPU logiche/fisiche rilevate sul vostro sistema, ad esempio su un sistema dual-core si può aggiungere:
- $ make -j 2
- Se non appare alcun errore, si può eseguire (come root):
# make install
- Infine eseguire "amule":
- $ amule &
Compilare un pacchetto Slackware
I passi che ho seguito differiscono di poco da quanto sopra esposto.
- Anzitutto ho installato aMule in un'altra locazione - per meglio controllare il risultato - aggiungendo il seguente parametro allo script di configure:
- --prefix=/home/$(whoami)/tmp/amule/usr
- Ricordarsi di aggiungere "/usr" alla fine del path.
- Dopo aver installato aMule ("make && make install"), ridurre la dimensione dei binari con il seguente comando, per poter contenere (parecchio!) la dimensione del pacchetto complessivo:
- $ 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
- In questa directory creare i file "slack-required" e "slack-desc" secondo le linee guida SlackBuild. Io sono pigro e li ho semplicemente copiati da un precedente pacchetto recente e ho soltato modificato le parti non più valide.
- Creare il pacchetto:
$ cd ..
$ ls
install usr
$ makepkg aMule-x.y.z.tgz
- Verificare la bontà del vostro pacchetto e notificarne l'esistenza nel forum, includendo il link ed2k (impostare a priorità release il file) ;-)
Compilazione con uno script SlackBuild
Un altro metodo per compilazione aMule è attraverso uno script SlackBuild. Si possono scaricare dal repository o crearne uno se non disponibile.
Una volta che lo script compresso è stato scaricato, va scompattato in una directory. Copiare nella stessa directory il pacchetto con i sorgenti e modificare il file aMule.SlackBuild secondo le proprie necessità (in particolare si può configurare le opzioni di compilazione e la versione di aMule che si sta per compilare).
Da utente root si può poi eseguire lo script:
- # sh aMule.SlackBuild
Quando lo script finisce avremo il pacchetto nella directory desiderata. E tutto!
Note finali
Godetevi il frutto del duro lavoro che viene svolto continuamente dal team aMule developers!
Potete contattarmi in IRC sul canale irc.freenode.com #amule cercandomi col nick servnov.
Oppure ponete le vostre domande sul forum presso forum.