User:Signore Iredell

From Second Life Wiki
Revision as of 18:44, 12 October 2007 by SignpostMarv Martin (talk | contribs) (upgrading from deprecated template)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Stuff




February 23, 2007

Compiling Second Life First Look 1.13.3.58018 on Ubuntu Edgy using BUILD=releasefordownload

We use the BUILD=releasefordownload scon option because we want to build a complete tarball for the end-user. See ‘Packaging the client’ instructions in Compiling the viewer (Linux). Get sources, linux-libs and artwork of the viewer, fmodapi375linux.tar.gz and unpack them.

Edit the first line of these scripts, changing #!/bin/sh to #!/bin/bash

  • linden/indra/newview/linux_tools/launch_url.sh
  • linden/indra/newview/linux_tools/launch_url.sh
  • linden/indra/newview/linux_tools/wrapper.sh
  • linden/indra/newview/linux_tools/package-client.sh
  • linden/libraries/include/boost/pool/detail/pool_construct_simple.sh
  • linden/libraries/include/boost/pool/detail/pool_construct.sh
  • linden/libraries/i686-linux/include/apr-1/arch/unix/apr_arch_threadproc.h

Workaround for llmozlib error:

  • comment lines 126-147 and 194-195 in linden/indra/SConstruct
  • change linden/indra/llcommon/llpreprocessor.h : at line 54, change #define LL_LIBXUL_ENABLED 1 to #define LL_LIBXUL_ENABLED 0

Then set up FMOD:

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

and other stuff:

export SLSRC=/your/path/to/linden/
cp -a /usr/include/atk-1.0 ${SLSRC}/libraries/i686-linux/include/
cp -a /usr/include/gtk-2.0 ${SLSRC}/libraries/i686-linux/include/
cp -a /usr/lib/gtk-2.0/include/* ${SLSRC}/libraries/i686-linux/include/gtk-2.0/
cp -a /usr/include/glib-2.0 ${SLSRC}/libraries/i686-linux/include/
cp -a /usr/lib/glib-2.0/include/* ${SLSRC}/libraries/i686-linux/include/glib-2.0/
cp -a /usr/include/pango-1.0 ${SLSRC}/libraries/i686-linux/include/
cp -a /usr/include/cairo/* ${SLSRC}/libraries/i686-linux/include/

Edit linden/indra/newview/linux_tools/client-manifest-i686 - look for the kdu string and uncomment the two lines (libllkdu and libkdu) so that libs get automatically copied into the right place in the runtime directory.

Then,

scons DISTCC=no BTARGET=client BUILD=releasefordownload

January 8, 2007

Compiling the Second Life Viewer source code on Ubuntu Edgy

unpacked:

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/libfmod-3.75.so ../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 maybe I had to do something like this (not sure this is a good idea), 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": 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!


Next step: packaging the client, substituting ‘BUILD=release’ with ‘BUILD=releasefordownload’ in the ‘Compiling’ section, in order to use the faster libkdu_v42R.so and libllkdu.so libraries.