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

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 97: Line 97:
=== Ubuntu 9.04 ===
=== Ubuntu 9.04 ===


necessari:
sono necessari:
* 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
* 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


ovvero basta dare:
rispetto a un'installazione standard di Ubuntu 9.04 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
* sudo apt-get install mesa-common-dev libglu1-mesa-dev libc6-dev libstdc++6 libx11-dev zlib1g-dev libssl-dev g++ cmake bison flex

Revision as of 18:52, 27 March 2009

Nota

La pagina e' incompleta.


Preparativi

Si assume che

  • l'ambiente di sviluppo sia pronto
  • i sorgenti e FMOD siano gia' stati scaricati e scompattati
  • la directory di FMOD sia posta nella stessa directory che contiene linden/indra/
  • la directory di riferimento e' linden/indra/


Preparazione dei Build Scripts

./develop.py configure


FMOD

  • necessario a meno di disabilitarlo esplicitamente
  • da eseguire dopo il primo ./develop.py configure

da verificare

cd ../../fmodapi375linux/ \
cp api/inc/* ../linden/libraries/i686-linux/include/ \
cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release_client/ \
cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release/ \
cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_debug/ \
cd ../linden/indra/


Compilazione

./develop.py build


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.


Build Types

E' possibile creare versioni diverse del client.

  • Usare directory separate per build types diversi
  • RelWithDebInfo e' il default
  • Sembra che 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


Errori

llcubemap / typedef struct Vertex

format not a string literal and no format arguments

Se si ottiene questo errore, fare una delle due:

  • sostituire in indra/linux_crash_logger/llcrashloggerlinux.cpp :
dialog_text);

con

"%s", dialog_text);
set(GCC_WARNINGS "${GCC_WARNINGS} -Werror")
[ 31%] Building CXX object llrender/CMakeFiles/llrender.dir/llcubemap.o
cc1plus: warnings being treated as errors
In file included from ;)/sources/1-21-r99587/linden/indra/llrender/llcubemap.cpp:44:
;)/sources/1-21-r99587/linden/indra/llrender/llrender.h:222: error: ‘typedef’ was ignored in this declaration
make[2]: *** [llrender/CMakeFiles/llrender.dir/llcubemap.o] Error 1
make[1]: *** [llrender/CMakeFiles/llrender.dir/all] Error 2
make: *** [all] Error 2

Solution by Robin Cornelius


Pacchetti richiesti

Ubuntu 9.04

sono necessari:

  • 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

rispetto a un'installazione standard di Ubuntu 9.04 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