Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Elfio

Ilobmirt Tenk
Registered User
Join date: 4 Jun 2007
Posts: 135
10-26-2007 08:58
Yesterday, I tried to compile my own secondlife client. (no changes to the source code yet)
I was able to follow most of the instructions required to compile your own secondlife viewer.
What stopped me was after I made my first attempt at compiling using scons.

I used a redirection operator to direct all error output to a file.
Here is its contents:
From: error file

lscript/lscript_compile/indra.y:97.33-45: warning: symbol STATE_DEFAULT redeclared
lscript/lscript_compile/indra.y: conflicts: 88 reduce/reduce


Upon running ./secondlife-i686-bin, here is the error I get out of the console:

From: Bash terminal

*****@******:~/Documents/slVoice/linden/indra/newview$ ./secondlife-i686-bin
./secondlife-i686-bin: error while loading shared libraries: libELFIO.so: cannot open shared object file: No such file or directory


It was then I realised, I missed the part where libELFIO had to be dynamic or something. however, I just can't wrap my head around what they mean by...

From: linden labs

* ELFIO <http://sourceforge.net/projects/elfio/>
o This wants to build a static library by default. Afterwards, to create a dynamic libelfio.so

% cd ELFIO && g++-3.4 -shared *.o -o libELFIO.so



I already downloaded ELFIO-1.0.3.tar.gz
It resides in the same folder as slviewer-linux-libs-1.18.2.1.tar.gz and slviewer-src-1.18.2.1.tar.gz (~/Documents/slVoice) (I know its old, but I wish to follow https://jira.secondlife.com/browse/VWR-2041)
I'm not quite sure where to go from there. :\
Doug Randall
Skeptic
Join date: 27 May 2006
Posts: 21
10-27-2007 11:58
Hello Ilobmirt ! Yes, the compile instructions in the wiki are a mess, you really have to know your way around linux compiling to understand.

About libELFIO, the .tar file you download is source only, you have to compile. After you compile you still can't use it because it only creates a static library. You have to make the dynamic lib yourself or the viewer can't find it.

This is how I do it, (at the top level in my home directory, after downloading the ELFIO source):

tar xfvz Download/ELFIO-1.0.3.tar.gz
cd ELFIO-1.0.3/
./configure
make
cd ELFIO/
g++ -shared *.o -o libELFIO.so
cd ~
cp ~/ELFIO-1.0.3/ELFIO/libELFIO.so /home/doug/linden/libraries/i686-linux/lib_release_client/

I hope that helps. Note that if your c++ compiler is not named g++-3.4 you wind up doing some editing.

Now, something very important that you may not have gotten to yet. If you follow the directions exactly, there is -> NO SOUND <- !!!!!!

That's right ! One more time --> NO SOUND !!!!! <-- :D

If you want a viewer that runs like the one you download from linden labs run scons like this :

scons DISTCC=no BTARGET=client OPENSOURCE=no BUILD=releasefordownload CHANNEL=Release MOZLIB=yes

I hope this helps.
Ilobmirt Tenk
Registered User
Join date: 4 Jun 2007
Posts: 135
10-27-2007 13:29
Doug Randall - It may just work. These instructions seem helpful. I'm new to compiling from source. I've only done it once, and that was when I was debugging some sort of sculpting feature in Blender3d. I'm soo used to being hand fed my applications via, debs and rpm files, that turning all these plaintext files into something exiting like the Secondlife viewer is a daunting task. I appreciate your help, I'll let you know if it works :)