Personal media in Second Life

January 8, 2007

Compiling the Second Life Viewer source code on Ubuntu Edgy

Filed under: Linux — Signore Iredell @ 7:05 pm

my system specs – hardware and software i use.


  • tar xzf slviewer-src-20070108c.tar.gz
  • tar xzf slviewer-linux-libs-20070108c.tar.gz
  • tar xzf fmodapi375linux.tar.gz

copied required FMOD headers and libraries into the Second Life Viewer source tree:

  • cd into the FMOD directory
  • cp api/inc/* ../linden/libraries/i686-linux/include/
  • cp api/ ../linden/libraries/i686-linux/lib_release_client/

installed via Synaptic:

  • gcc-3.4 gcc-3.4-base g++-3.4 scons

Now, I am new to scons, and since I’m on Ubuntu Edgy -that uses gcc-4.1- I thought I had to do something like this (not sure this is right, I got the idea reading here), but actually we don’t need it:

  • export CC=’/usr/bin/gcc-3.4′

after I learnt this in the Linux Client Users group chat (thanks you all guys!), I went to Maryport and enjoyed a compile’n’dance party while giving the magic command:

  • scons DISTCC=no BTARGET=client BUILD=release

Then I got some errors, asked help to Linux Client fellows, then I installed:

  • libglu1-mesa-dev libgl1-mesa-dev mesa-commons-dev
  • flex bison

I tried again running scons, and as described here, compiler couldn’t find gtk/gtk.h
So I edited the indra/SConstruct file removing the leading spaces from the 6 ‘ ../libraries/’ strings from around line 187 onwards.

A couple of hours later…
…scons: done building targets.
One step further!

Then I ran it:

  • ( cd newview && LD_LIBRARY_PATH=../../libraries/i686-linux/lib_release_client:${LD_LIBRARY_PATH}:/usr/local/lib  ./secondlife-i686-bin )

And it started! But it is “unable to initialize communications”:

The login page of the open-sourced client, showing a dumb error

My fault! I’m running it from inside the tree but I forgot to do this from the indra directory:

  • $ cp ../scripts/messages/message_template.msg newview/app_settings/

And then it works! I’m in world!

A snapshot taken with the open-sourced client on Linux

A snapshot in the same location with the usual binary client

I am happy!

Next step:

packaging the client, substituting ‘BUILD=release’ with ‘BUILD=releasefordownload’ in the ‘Compiling’ section, in order to use the faster and libraries.
…or maybe better, I’m going tryng to symlink the *kdu*.so’s into newview/ too so I shouldn’t need releasefordownload


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at

%d bloggers like this: