Difference between revisions of "Build the Viewer on Linux/it"

From Second Life Wiki
Jump to navigation Jump to search
m (page is obsolete)
(expanded, corrections, still much to do)
Line 1: Line 1:
{{multi-lang|1=Compiling the viewer (Linux)|2=/it}}
{{multi-lang|1=Compiling the viewer (Linux)|2=/it}}


== Nota ==  
== Compilare il viewer dai sorgenti ==


La pagina e' attualmente obsoleta e incompleta. Da integrare e aggiornare con [[User:Opensource_Obscure/Compiling]] --[[User:Opensource Obscure|oobscure]] 09:02, 10 April 2011 (PDT)
''NOTA: Questa guida contiene solo una parte delle informazioni presenti nella [[Compiling_the_viewer_(Linux)|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 [[Open_Source_Portal/it|progetto Open Source]].


== Pacchetti richiesti ==
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.


=== Ubuntu 9.04 ===
== Dipendenze ==


sono necessari:
I nomi dei pacchetti che seguono sono riferiti a Ubuntu.
* cmake g++ g++-4.3 libgl1-mesa-dev libglu1-mesa-dev libpthread-stubs0 libpthread-stubs0-dev libssl-dev libstdc++6-4.3-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev zlib1g-dev bison flex
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


rispetto a un'installazione standard di Ubuntu 9.04 dovrebbe essere sufficiente dare:
'''TODO:''' erano/sono necessari forse anche:
* sudo apt-get install mesa-common-dev libglu1-mesa-dev libc6-dev libstdc++6 libx11-dev zlib1g-dev libssl-dev g++ cmake bison flex
* 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


== Preparativi ==
'''TODO:''' ccache o no?


Si assume che
== Compilare i sorgenti ==
* l'ambiente di sviluppo sia pronto (v. punto precedente)
* i sorgenti siano gia' stati scaricati e scompattati
* la directory di riferimento e' linden/indra/


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


== Preparazione dei Build Scripts ==
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://hg.secondlife.com/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.


./develop.py configure
Entrate nella nuova sottocartella:
 
  cd ''viewer-development''
 
== Compilazione ==
 
./develop.py build
o
  cd viewer-linux-i686-relwithdebinfo/
make


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 ==
== Risultato ==


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.
'''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.
 
 
== Build Types ==
 
E' possibile creare versioni diverse del client.
* Usare directory separate per build types diversi
* RelWithDebInfo e' il default
* Sembra che [https://lists.secondlife.com/pipermail/sldev/2009-March/013151.html non valga la pena] di compilare versioni Debug
Debug:
./develop.py -t Debug configure
./develop.py -t Debug build
Release:
./develop.py -t Release configure
./develop.py -t Release build
 
 
== Personalizzazione interfaccia, menu etc. ==
 
=== Cambio di Shortcut per poter nascondere la GUI ===


Modificare indra/newview/llviewermenu.cpp
== Applicare una patch ==


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


[[Category:Pagine italiane da wikificare]]
[[Category:Pagine italiane da wikificare]]
[[Category:Compiling_viewer]]

Revision as of 09:38, 10 April 2011

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://hg.secondlife.com/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