Compilazione di aMule Adunanza

Da $1

Questa guida si pone l'obiettivo di fornire istruzioni per la compilazione e installazione di aMule AdunanzA.  Non saranno qui fornite indicazioni su come costruire pacchetti per le singole distro Linux, per Mac o per Windows. Nel capitolo "DIPENDENZE" saranno gradualmente aggiunti dettagli sui nomi dei pacchetti per tutte le distro di cui si avranno informazioni.

 DIPENDENZE

 Generale

Le dipendenze richieste per compilare aMule AdunanzA sono elencate di seguito:

- g++
- make
- autoconf/automake
- wxWidgets ver suggerita >= 2.8.8
- intltools
- gettext
- zlib
- libpng
- bison
- flex
- binutils

- libupnp (ver >= 1.6.6)

- libcryptopp (ver >= 5.5.2)

- CVS

- SVN (per ottenere i sorgenti tramite subversion)

- libgeoip/GeoIP (opzionale)

Debian e derivate

Per installare le dipendenze (incluse le opzionali) su Debian e derivate, digitare nel terminale

sudo apt-get install build-essential subversion-tools cvs autogen automake1.10 libgtk2.0-dev zlib1g-dev libpng12-dev libgd2-xpm-dev \
libreadline5-dev libcrypto++-dev libgeoip-dev libglib2.0-dev libupnp3-dev libwxgtk2.8-dev flex bison gettext binutils-dev

In base alle indicazioni del wiki di aMule "ufficiale" www.amule.org gli utenti ubuntu dovrebbero evitare di utilizzare le wxwidgets dei repo ufficiali, in quanto possono essere causa di frequenti crash di amule.

Una guida alla compilazione delle suddette librerie direttamente da sorgenti la si può trovare a questo indirizzo (in inglese).

Nonostante la guida sia molto completa e semplice, la compilazione di una libreria va affrontata consci del fatto che il sistema potrebbe risultarne compromesso in caso di errori.

 Un'alternativa alla compilazione manuale delle wxwidgets è inserire nella sources list il repository di wxpython.org e aggiornare le wxwidgets all'ultima versione stabile. Procedete in questo modo:

- Importate la chiave pubblica dal sito:

$ curl http://apt.wxwidgets.org/key.asc | sudo apt-key add-

- Aggiungete le seguenti righe al file /etc/apt/sources.list:

# Commento a piacere per tener traccia del repo (es. wxwidgets repository)
deb http://apt.wxwidgets.org/ DIST-wx main
deb-src http://apt.wxwidgets.org/ DIST-wx main

n.b. DIST va sostituito col nome della vostra distribuzione (gutsy - hardy - intrepid)

- Aggiornate i repository

$ sudo apt-get update

- Installate le wxwidgets

$ sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n

Fedora core 10

Per installare le dipendenze (incluse le opzionali) in Fedora Core10, digitare nel terminale

sudo yum install gcc-c++ make wxGTK-devel zlib-devel binutils-devel libupnp-devel cryptopp-devel gd-devel GeoIP-devel svn intltool \
flex bison 

Archlinux (tutte le releases)

Per installare aMule in Archlinux è necessario installare yaourt da AUR . Il pacchetto lo trovate qui.

Da terminale date questi comandi:

$ tar -xzvf /path\del\file/yaourt.tar.gz
$ cd yaourt
$ makepkg
$ sudo pacman -U yaourt-0.9.2.5-1-i386.pkg.tar.gz

e il pacchetto verrà installato, risolvendo eventuali dipendenze.

n.b. per utilizzare makepkg è necessario avere installato pkgconfig. Nel caso non disponiate del pacchetto, da terminale:

 $ sudo pacman -Sy pkgconfig

 A questo punto non è più necessario scaricare nulla, quindi passate alla sezione compilazione, saltando OTTENERE IL CODICE SORGENTE.

 Se preferite compilare manualmente i sorgenti, installate le dipendenze col comando:

$ sudo pacman -Sy  wxgtk gd perl cvs crypto++ autoconf automake make flex bison binutils gcc zlib libpng libupnp gettext 
intltool geoip

e proseguite seguendo i passi successivi della guida.

openSUSE 11.2

Per installare le dipendenze (incluse le opzionali) su openSUSE 11.2 (non testato su versioni precedenti), digitare nel terminale:

# zypper in libupnp-devel wxwidgets-devel gd libcrypto++0-devel libgeoip-devel libpng-devel zlib bison binutils autoconf automake make g++

dopo aver abilitato il Packman Repository

OTTENERE IL CODICE SORGENTE

Attenzione utenti Ubuntu 9.04+: una volta abilitati i repository Universe, + possibile scaricare i sorgenti della versione relativa alla release utilizzata con

sudo apt-get source amule-adunanza
Gli utenti Ubuntu 10.04 potranno ottenere i sorgenti dell'ultima release, la 2010.1

Sourceforge.net

Il codice sorgente di aMule AdunanzA è ospitato qui. Scaricate l'ultima versione, attualmente 3.14b3.

Subversion

Per ottenere il codice sorgente di aMule AdunanzA tramite subversion, digitare nel terminale

 	svn co https://amule-adunanza.svn.sourceforge.net/svnroot/amule-adunanza amule-adunanza 	

 per scaricare sul proprio sistema tutti e tre i rami di sviluppo (tags, trunk e branches).

 

In alternativa potete scaricare solo il ramo di vostro interesse con

 	svn co https://amule-adunanza.svn.sourceforge.net/svnroot/amule-adunanza/tags amule-adunanza/tags 	

  per il ramo tags

 

	 	svn co https://amule-adunanza.svn.sourceforge.net/svnroot/amule-adunanza/trunk amule-adunanza/trunk

 per il ramo trunk e

 

 	svn co https://amule-adunanza.svn.sourceforge.net/svnroot/amule-adunanza/branches/mrhyde_test amule-adunanza/branches/mrhyde_test 	

  per il ramo branches.

 

ATTENZIONE! È consigliato l'utilizzo del ramo tags che contiene gli utlimi sorgenti stable. Se desiderate compilare la versione in testing usate il ramo branches, MA A VOSTRO RISCHIO E PERICOLO!

 

 

COMPILAZIONE

Scompattare l'archivio

Se avete scelto di eseguire il download manuale dei sorgenti da sourceforge, posizionatevi col terminale nella cartella che contiene l'archivio scaricato e digitate

tar xvjf amule-adunanza-3.14b3-2.2.2.tar.bz2 

Entrare nella directory dei sorgenti

La prima cosa da fare per compilare è posizionarsi col terminale nella directory che contiene i sorgenti. La directory può essere diversa in base alle scelte che avrete fatto al punto 2. Se avete scaricato l'archivio compresso e l'avete scompattato nella vostra home scriverete in un terminale

cd ~/amule-adunanza-3.14b3

Se, invece, avete scelto la strada del subversion, allora per entrare nella vostra cartella con i sorgenti più aggiornati del ramo tags scrivete nel terminale

 cd ~/amule-adunanza/tags/AdunanzA-3.14b3/

 Analogamente potete entrare nelle cartelle dei rami Trunk e Branches.

Modifiche ad autogen.sh per Ubuntu

Su Ubuntu (e forse qualche altra distro) è necessario modificare il file autogen.sh

 nano autogen.sh  

e cambiate il primo rigo da

#!/bin/sh

a

#!/bin/bash

 Al posto di nano potete usare l'editor che preferite (gedit, kwrite, kate ecc). Ho indicato nano perché è comune a tutti gli ambienti desktop. Per modificare il file con nano basta muoversi all'interno del file stesso con le frecce direzionali, apportare le modifiche desiderate, salvare con CTRL+O e chiuedere con CTRL+X. 

Questa modifica è necessaria perché Ubuntu e alcune altre distro sono configurate in modo che sh sia associato a dash invece che a bash. In alternativa alla modifca del file potete lanciare un

sudo dpkg-reconfigure dash 

 e scelgiere NO quando verrà chiesto se "Si vuole usare dash come sostituto di sh". Tuttavia è consigliabile non modificare il sistema. Modificare piuttosto il file autogen.sh come indicato sopra.

 Per sapere se la vostra distro ha bisogno della modifica ad autogen.sh, digitate nel terminale

ls -l /bin/sh 

 se la risposta sarà simile a questa

lrwxrwxrwx 1 root root 4 25 feb 12:17 /bin/sh -> bash 

 il vostro sistema è configurato in modo che bash sia associato a sh e NON avrete problemi.

 Nel caso in cui la risposta dovesse essere

lrwxrwxrwx 1 root root 4 25 feb 12:17 /bin/sh -> dash

 dovrete modificare autogen.sh

 

Compilare aMule AdunanzA

Come prima cosa lanciare un

./autogen.sh 

 Nei recenti sorgenti mesi a disposizione il comando dovrebbe esser stato già lanciato, tuttavia lanciarlo nuovamente porta via pochi secondi di tempo e ci metto al riparo da alcuni errori di compilazione nel caso per qualunque motivo autogen non sia stato lanciato prima di rilasciare i sorgenti.

Se non risulteranno errori potete lanciare il

./configure 

N.B gli utenti Archlinux, prima di lanciare il comando, dovranno digitare nel terminale 

$ sed -i 's/Reference Manual/Crypto++ Library/' configure

e dare invio.

Lanciando lo script configure senza alcuna opzione otterrete una versione di amule con le seguenti caratteristiche (tra le principali):

- sì applicazione monolitica

- no amule-daemon

- no amule-gui (interfaccia grafica di controllo della versione demone di amule)

- no webserver

- no geoip (le bandierine della nazionalità a cui appartenono i peers che abbiamo in coda)

- no amule command (interfaccia testuale di controllo della versione demone di amule)

- no supporto statistiche

- no aMule Link Creator (per generare link ed2k)

- sì supporto upnp 

- sì supporto debug 

 

per abilitare ulteriori funzioni di amule lanciare

./configure --help 

per vedere l'elenco delle opzioni possibili e poi lanciare il configure con le opzioni scelte. Se volete un amule completo di ogni funzione opzionale:

./configure  --enable-alc --enable-alcc  --enable-geoip --enable-amulecmd --enable-webserver --enable-amule-daemon --enable-amule-gui \
--enable-cas --enable-webserver --enable-wxcas

A questo punto potete lanciare la compilazione vera e propria con

make 

Tenete presente che la compilazione di amule è una fase molto lunga, può durare anche più di un'ora, in base alle caratteristiche della macchina e alle funzioni aggiuntive richieste al configure.

 

Terminata con successo la compilazione potete installare il programma con

sudo make install 

 o, se la vostra distro non prevede il comando sudo o se il vostro utente non è nei sudoers con

su
make install 

 

Per gli utenti Archlinux

Per installare aMule AdunanzA, da terminale:

$ yaourt -Sy amule-adnza

 Il programma si preoccuperà di risolvere tutte le dipendenze in automatico.

Nel caso vogliate abilitare o disabilitare alcune funzioni del ./configure, basterà editare il ./PKGBUILD del programma quando vi verrà chiesto a terminale:

$ yaourt -S amule-adnza
==> scaricamento del PKGBUILD di amule-adnza da AUR...
...
...
==> modificare il PKGBUILD (altamente raccomandato per ragioni di sicurezza)? [S/n] ("A" per annullare)

Premete invio e digitate il nome dell'editor che preferite (nano -gedit -kate...) e premete di nuovo invio.

Si aprirà il file PKGBUILD, dove troverete le opzioni del configure di amule e le dipendenze del programma, che potrete editare a piacere. All'uscita dall'editor, le dipendenze e il programma verranno scaricati, compilati (solo se non presenti nei repository di pacman) e installati.

Etichette:
 
Immagini (0)
 
Suggerimenti (8)
Visualizzato suggerimento 8 di 8 : vedi tutti
Appello agli utilizzatori delle distro non citate: c'è bisogno di arricchire la pagina con la lista dettagliata delle dipendenze, ricordando che il nome dei pacchetti può variare in base alle varie distro.
Inviato 23:43, 3 Mar 2009 ()
aggiunte due dipendenze che mancavano per fedora 10 la compilazione completa è andata a buon fine salvo - libgeoip/GeoIP (opzionale) in pratica ho tolto questo --enable-geoip ed ho lasciato tutti gli altri.
Inviato 23:43, 4 Mar 2009 ()
Grazie a mortaretto e a bruce wayne per il loro contributo per le sezioni (rispettivamente) Fedora core 10 e Archlinux.

p.s.....Bruce...aspettiamo il contributo su opensuse :)
Inviato 08:49, 5 Mar 2009 ()
completata e corretta sezione dipendenze fedora 10
Inviato 00:27, 6 Mar 2009 ()
Inserita nota per la compilazione delle wxwidgets in ubuntu.
grazie a smoqer per il link e l'avviso, a cui si dovrà prestare molta attenzione. 02:08, 15 Mar 2009 modificato
Inviato 21:47, 11 Mar 2009 ()
è uscita fedora11 adesso ci vorrebbe un anima buona che mi desse qualche dritta perchè dopo l'upgrade ovviamente amule non funziona più e suppongo vada cancellato e ricompilato.grazie 20:44, 16 Giu 2009 modificato
Inviato 20:42, 16 Giu 2009 ()
corretto il percorso per il ramo testing
Inviato 10:28, 1 Nov 2009 ()
inserito dipendenze per openSUSE 11.2
meglio tardi che mai ;)
Inviato 21:31, 22 Mar 2010 ()
Visualizzato suggerimento 8 di 8 : vedi tutti
E' necessario connettersi per inserire un suggerimento.