Compiling the viewer (Linux)/it

From Second Life Wiki
Jump to: navigation, search

Compilare il viewer dai sorgenti

NOTA: Questa guida contiene solo una parte delle informazioni presenti nella pagina in inglese. Fate riferimento ad essa per maggiori dettagli.

Compilare i sorgenti del viewer di Second Life può essere necessario per applicare patch sperimentali, per eseguire personalizzazioni al programma o per contribuire al progetto Open Source.

Il procedimento prevede l'uso di Mercurial per scaricare i sorgenti e creare la repository locale. Per la compilazione vengono usati cmake, make e uno strumento chiamato Autobuild creato da Linden Lab per compilare le librerie.

Dipendenze

I nomi dei pacchetti che seguono sono riferiti a Ubuntu.

sudo apt-get install cmake flex bison build-essential python libx11-dev zlib1g-dev libssl-dev mesa-common-dev libglu1-mesa-dev libc6-dev libstdc++6 libxrender-dev
sudo apt-get install libogg-dev libpng12-dev libdbus-glib-1-dev libgtk2.0-dev
sudo apt-get install mercurial python-pip
sudo pip install autobuild

TODO: erano/sono necessari forse anche:

  • g++ g++-4.3
  • libgl1-mesa-dev libpthread-stubs0 libpthread-stubs0-dev libstdc++6-4.3-dev libxau-dev libxcb1-dev libxdmcp-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev

TODO: rispetto a un'installazione standard di Ubuntu dovrebbe essere sufficiente dare:

sudo apt-get install mesa-common-dev libglu1-mesa-dev libc6-dev libstdc++6 libx11-dev zlib1g-dev libssl-dev g++ cmake bison flex
  • forse anche apt-get install build-essential

TODO: ccache o no?

Compilare i sorgenti

Si assume che l'ambiente di sviluppo sia pronto (v. punto precedente).

Scegliete un ramo di sviluppo da cui scaricare i sorgenti per poi compilarli. Generalmente si usa viewer-development, che è il principale ramo di sviluppo:

hg clone http://bitbucket.org/lindenlab/viewer-development

In casi diversi potreste voler usare i sorgenti di un sottoprogetto specifico, come in questo esempio:

hg clone https://bitbucket.org/merov_linden/viewer-autobuild2010

Il comando hg clone scaricherà i sorgenti in una sottocartella che porta il nome del progetto specificato. La procedura può richiedere alcune decine di secondi.

Entrate nella nuova sottocartella:

cd viewer-development

Scegliete il tipo di build che volete compilare, ad esempio RelWithDebInfo, e lanciate Autobuild impostando di conseguenza il parametro -c. Si veda Build_Viewer_With_Autobuild#Build_a_desired_configuration per le alternative disponibili.

autobuild build -c RelWithDebInfo

Risultato

TODO: - FALSO, CORREGGERE - al termine di una compilazione senza errori viene creato un archivio .tar.bz2 che andra' usato come quello che si scarica da secondlife.com. Di default. l'archivio si trovera' in linden/indra/viewer-linux-i686-relwithdebinfo/newview/ e cambiera' di conseguenza se si e' scelto un build type particolare.

Applicare una patch

Esempio:

user@box:~/prova/viewer-development$ patch -p0 < SNOW-247_translation_breaks_chat_bubbles.diff