Difference between revisions of "User:Opensource Obscure/Compiling"
(→Personalizzazione interfaccia, menu etc.: how to apply a patch to LL viewer sources) |
|||
Line 2: | Line 2: | ||
== Pagine utili in questo wiki == | == Pagine utili in questo wiki == | ||
* [[Compiling_the_viewer_(Linux)]] | |||
* [[Source_downloads]] | |||
* [[Subversion]] | |||
* [[Viewer source]] | * [[Viewer source]] | ||
* [[Viewer Architecture]] e relativi link | * [[Viewer Architecture]] e relativi link | ||
Line 8: | Line 11: | ||
* [[UI_Floaters]] | * [[UI_Floaters]] | ||
* [[Adding_a_dialog]] | * [[Adding_a_dialog]] | ||
* [[User:Dzonatas_Sol/Cross_compiling_the_viewer_(i686-mingw32)]] | * [[User:Dzonatas_Sol]] & [[User:Dzonatas_Sol/Cross_compiling_the_viewer_(i686-mingw32)]] | ||
== Preparazione dei Build Scripts == | == Preparazione dei Build Scripts == |
Revision as of 07:37, 8 December 2009
BACK to User:Opensource_Obscure
Pagine utili in questo wiki
- Compiling_the_viewer_(Linux)
- Source_downloads
- Subversion
- Viewer source
- Viewer Architecture e relativi link
- Adding_a_menu_item
- UI_Widgets
- UI_Floaters
- Adding_a_dialog
- User:Dzonatas_Sol & User:Dzonatas_Sol/Cross_compiling_the_viewer_(i686-mingw32)
Preparazione dei Build Scripts
cd linden/indra/ ./develop.py configure
FMOD
- necessario a meno di disabilitarlo esplicitamente
- da fare dopo il primo ./develop.py configure
- le istruzioni seguenti presuppongono che la directory di fmod sia posta nella stessa directory che contiene linden/indra/, e che ci si trovi in quest'ultima
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
oppure
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/
KDU
Tutto un po' da verificare.
Sembra che non sia stato necessario fare nient'altro quando ho compilato trunk 1.24 con i comandi
./develop.py --type=Release configure ./develop.py --type=Release build
In teoria credo si debba modificare newview/viewer_manifest.py e decommentare:
self.path(self.find_existing_file('../llkdu/libllkdu.so', '../../libraries/i686-linux/lib_release_client/libllkdu.so'), dst='bin/libllkdu.so')
print "Skipping libllkdu.so - not found"
self.path("libkdu_v42R.so", "libkdu.so")
Compilare as usual
cd indra/ ./develop.py build
o
cd indra/viewer-linux-i686/ make
Applicare una patch
Esempio:
user@box:~/snowglobe/linden$ patch -p0 < SNOW-247_translation_breaks_chat_bubbles.diff
Cambio di Shortcut per poter nascondere la GUI
Modificare indra/newview/llviewermenu.cpp
altro
(Non sicuro) - viewer-linux-i686-relwithdebinfo/CMakeCache.txt --> per sostituire "(Developer)" nel floater About Second Life
Build Types
- 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
Va inizialmente creato (una tantum) il file /etc/udev/rules.d/41-spacenavigator.rules con questo contenuto (forse basta la terza riga):
KERNEL=="event[0-9]*", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c603", SYMLINK+="input/spacemouse", GROUP="plugdev" KERNEL=="event[0-9]*", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c623", SYMLINK+="input/spacetraveler", GROUP="plugdev" KERNEL=="event[0-9]*", SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c626", SYMLINK+="input/spacenavigator", GROUP="plugdev"
Per i viewer fino alla 1.22:
- copiare libndofdev.a in libraries/i686-linux/lib_release_client/
- sostituire DARWIN con DARWIN OR LINUX in indra/cmake/NDOF.cmake
Ombre / Shadows
Il ramo di sviluppo da usare e' render-pipeline. (vedi qui) - Open up the debug settings, and search for
RenderShadowClipPlanes(?)
Put in values like
50 150 300
and you will find the distance at which shadows show to be increased, be aware tho that they might be a little more rough up close. The other settings I tinkered with, but in the end left at the default...tho you can also increase the amount of blur passes (beware FPS hits), and the strength of the blur and gaussian.
Pacchetti da installare
apt-get install cmake flex bison libglu1-mesa-dev libssl-dev
Come trovare le dipendenze richieste (vedi qui) - ESEMPIO con omvviewer:
omvviewer/indra/build/newview>ldd ./omvviewer
Errori
llcubemap / typedef struct Vertex
[ 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
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);
- In indra/cmake/00-Common.cmake > Line 183, commentare cosi' (vedi qui - spiegazione):
set(GCC_WARNINGS "${GCC_WARNINGS} -Werror")