Difference between revisions of "User:Opensource Obscure/Compiling"

From Second Life Wiki
Jump to navigation Jump to search
Line 35: Line 35:
* da fare dopo il primo ''./develop.py configure''
* 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
* 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
'''''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
  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


ovvero
oppure
  cd ../../fmodapi375linux/ \
  cd ../../fmodapi375linux/ \
  cp api/inc/* ../linden/libraries/i686-linux/include/ \
  cp api/inc/* ../linden/libraries/i686-linux/include/ \

Revision as of 18:02, 30 March 2009

BACK to User:Opensource_Obscure

Pagine utili in questo wiki


Preparazione dei Build Scripts

cd linden/indra/
./develop.py configure


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


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/

Compilare as usual

cd indra/
./develop.py build

o

cd indra/viewer-linux-i686/
make


Personalizzazione interfaccia, menu etc.

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


SpaceNavigator

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

Solution by Robin Cornelius

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")