HowTo compile on Mac-it
Come reperire e installare aMule su Apple Mac OS X.
- Puoi semplicemente scaricare l'applicazione ('rilascio in formato binario');
- Puoi compilare da SVN snapshot dei sorgenti o da rilascio dei sorgenti stabili.
Contents
Rilascio in formato binario
Se non vuoi installare e compilare tutti gli strumenti e i sorgenti, trova pure una delle versioni di aMule già precompilate. Il rilascio ufficiale è considerato 'stabile', ma di tanto in tanto le applicazioni sono compilate con i sorgenti attuali per permettere che più persone provino le nuove caratteristiche.
Controlla i Mac forum per i binari rilasciati dagli utenti: aMule forum
Per installare i binari scaricati, basta trascinare aMule in una cartella a scelta (e.g., /Applications).
Per lanciare aMule, doppio-click sull'icona dell'applicazione.
Nota: Potreste voler dare un'occhiata all'articolo su Mac specific usage.
Compilazione da sorgenti
Compilare dai sorgenti ottiene un report dei maggiori bug correnti, poichè è possibile compilare e testare l'SVN snapshot di ogni giorno.
Per compilare aMule da sorgenti hai bisogno di alcuni tool di sviluppo, la libreria wxWidgets e i sorgenti di aMule.
Prelevare i sorgenti e i tool di sviluppo
Passo 1: Scaricare e installare Xcode
Xcode è l'ambiente di sviluppo di Apple. Ne abbiamo bisogno per avere il compilatore GCC.
Necessiti almeno della versione 2.1 di Xcode, anche se è preferibile una versione più recente. Puoi scaricare la versione più recente di Xcode da Apple, ma ti devi autenticare per avere un account gratuito da sviluppatore oppure ti devi loggare nel tuo account su iTunes Store.
- Prelevare Xcode da http://developer.apple.com/tools/download
- "Member Site"->"Log In"->"Download Software"->"Developer Tools"->"Download Xcode Tools last release">"Install"
Passo 2: Installare MacPorts
MacPorts è un installer open source per molti tools open source portati su Mac OS X. aMule necessita di alcuni di questi tools per compilare. In alternativa, è possibile usare Fink per installare questi tools o (Fink attualmente difetta di questi tools necessari) è possibile installarli manualmente.
- Scaricare la versione più recente dei MacPorts
- Leggi documentazione MacPorts per imparare come installare le applicazioni usando MacPorts.
Sintassi dei più importanti comandi
La lista dei pacchetti può essere scaricata/aggiornata attraverso
$ sudo port selfupdate
Puoi aggiornare tutti i pacchetti installati con
$ sudo port upgrade installed
I pacchetti possono essere installati con
$ sudo port install package_name
e rimossi con
$ sudo port uninstall package_name
I vari port possono essere invocati con il segno più:
$ sudo port install package_name +universal
Passo 3: Installare le librerie e i tools
Questi sono i pacchetti che forniscono (con le dipendenze) tutto le librerie necessarie e i tools per costruire wxWidgets e aMule con molte delle caratteristiche:
- automake
- binutils
- flex
- gettext
- libpng
- libcryptopp
- libiconv
- gd2
- jpeg
- libgeoip
- libupnp
- pkgconfig
Questo dovrebbe bastare:
$ sudo port install automake binutils flex libpng libcryptopp gd2 libgeoip libupnp
Passo 4: Compilare wxMac
wxMac è il port delle librerie wxWidgets per Mac OS X. Questa libreria è usata per costruire aMule 'multi-piattaforma'.
Preleva i sorgenti da: http://www.wxwidgets.org/downloads/ (Archivio dei sorgenti: wxMac) e estrarre gli archivi sul tuo desktop.
L'installazione della patch TextCtrl è altamente raccomandata: scarica questo file patch sul tuo desktop, adesso apri un terminale e scrivi
$ patch ~/Desktop/wxMac-2.8.10/src/mac/carbon/textctrl.cpp ~/Desktop/textctrl_optimization.diff
ed impedice il aMule l'attaccatura nell'ambito della registrazione veloce
Nota: Questa patch aumenta molto le performance di wxTextCtrl e impedisce ad aMule di avere problemi con il login rapido.
scrivi
$ cd
lascia uno spazio dopo il comando, fai il drag and drop della cartella wxMac decompressa nella finestra Terminale: il percorso completo della cartella sarà stampato sul monitor. Per esempio:
$ cd ~/Desktop/wxMac-2.8.10/
Premi invio. Adesso configura e compila i pacchetti con il comando:
$ ./configure --disable-shared --enable-unicode --disable-debug --disable-debug_gdb --with-libiconv-prefix=/opt/local && make -j8
Nota: Il comando sopra non consente le informazioni di debug. Le informazioni di debug permetteno di sottoporre un utile stacktrace se aMule crasha o un esempio da sottoporre ai aMule developers. Se vuoi compilare in modalità debug tu puoi usare invece "--enable-debug --enable-debug_gdb".
Passo 5: Compilare aMule
Scarica sorgenti di aMule e estrai l'archivio nello stesso posto di wxMac (i.e. il tuo desktop se stai seguendo i suggerimenti). Apri un terminale e scrivi:
$ cd
lascia uno spazio e trascina e rilascia la cartella decompressa di aMule il cui percorso sarà stampato sul monitor, per esempio:
$ cd ~/Desktop/aMule-2.2.4
Premi Invio. Adesso è possibile configurare i sorgenti: ci sono diverse opzioni che possono essere usate per attivare o disattivare delle caratteristiche durante la compilazione. Questo è solo un esempio, che fornisce tutte le caratteristiche di aMule nella compilazione:
$ ./configure --with-wx-config=../wxMac-2.8.10/wx-config --enable-optimize --with-crypto-prefix=/opt/local \ --with-gdlib-config=/opt/local/bin/gdlib-config --with-libiconv-prefix=/opt/local --enable-cas --enable-webserver \ --enable-amulecmd --enable-amule-gui --enable-wxcas --enable-alc --enable-alcc --enable-amule-daemon --enable-geoip \ --with-geoip-lib=/opt/local/lib --with-geoip-headers=/opt/local/include --enable-geoip-static --enable-debug
Controlla la pagina configure per una lista completa delle opzioni. Dovresti prestare attenzione a questi elementi:
- L'esempio dato abilita le informazioni di debug. Per disabilitarlee scambia l'opzione --enable-debug con --disable-debug --enable-optimize.
- L'opzione --with-wx-config deve puntare al corretto percorso relativo della libreria compilata wxMac. L'esempio assume che le cartella di aMule e wxMac siano nella stessa directory (i.e. nel tuo desktop). Dovresti anche correggere il nome della cartella wxMac in accordo con la sua versione (nell'esempio è 2.8.10).
- L'opzione --with-crypto-prefix dovrebbe puntare a /usr/local/cryptopp se tu compili Crypto++ partendo dai sorgenti, da MacPorts.
- IMPORTANTE! Sembra che la versione Mac OS del tool ld non sia in grado di fare librerie statiche. Così se pensi di lanciare/installare la tua versione compilata di aMule su un altro Mac che non ha i MacPorts installati tu DEVI rimuovere l'opzione --enable-geoip-static per evitare che crashi quando lanci il programma.
Adesso è tempo di pacchettizzare con:
$ make -j8
e
./src/utils/scripts/mac_packager
Tu dovresti trovarti il tuo pacchetto di aMule nella stessa cartella dei sorgenti.
APPENDICE: Binari Universali
Attenzione, questa sezione dovrebbe essere duramente revisionata finchè non funziona del tutto!
Se non vengono aggiunte delle opzioni specifiche, il sistema compila i pacchetti per l'architettura nativa (i.e. i386 se stai usando un Mac Intel o ppc per i PowerPC). Se pensi di distribuire i tuoi pacchetti o di usarli su piattaforme differenti probabilmente vuoi costruire dei binari universali.
Per fare dei binari universali dovresti
- Installare tutte le librerie e i tools (Passo 3) attraverso MacPorts invocando la variante +universal.
- Inserire l'opzione "--enable-universal_binary" al comando configure di wxMac (Passo 4).
- Aggiungere le seguenti opzioni all'aMule config, se stai usando Leopard (cambia "MacOSX10.5.sdk" con "MacOSX10.4.sdk" se stai usando Tiger):
--disable-dependency-tracking \ CFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk" \ CXXFLAGS="-arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk"