Difference between revisions of "Build the Viewer on Linux"
Jump to navigation
Jump to search
Tofu Linden (talk | contribs) (removed old ubuntu notes which I don't think were relevant/correct) |
Tofu Linden (talk | contribs) |
||
Line 3: | Line 3: | ||
== Installing the required dependancies == | == Installing the required dependancies == | ||
Paths and package names are based on Ubuntu 6.06. | Paths and package names given here are based on Ubuntu 6.06 and may vary according to your Linux distribution. | ||
=== Packages to install before you begin === | === Packages to install before you begin === |
Revision as of 04:24, 20 December 2006
Installing the required dependancies
Paths and package names given here are based on Ubuntu 6.06 and may vary according to your Linux distribution.
Packages to install before you begin
- install scons [scons]
- install boost [libboost-dev]
- install boost-regex [libboost-regex-dev]
- install apr-1 [libapr1.0-dev]
- install aprutil-1 [libaprutil1.0-dev]
- install xmlrpc-epi 0.51 <http://xmlrpc-epi.sourceforge.net/>
- note: not xmlrpc-c (xmlrpc-c has a library and headers with the same name but is not compatible)
- install jpeglib [libjpeg62-dev]
- install SDL [libsdl1.2-dev]
- install Vorbis [libvorbis-dev]
- install libgtk2 [libgtk2.0-dev]
- unpack FMOD 3 <http://www.fmod.org/>
- build ELFIO <http://sourceforge.net/projects/elfio/>
- build OpenJPEG <http://www.openjpeg.org/>
Copy headers and libraries into the source tree
$ cp -a /usr/include/apr-1.0/ ${SLSRC}/libraries/i686-linux/include/apr-1
$ mkdir ${SLSRC}/libraries/i686-linux/include/expat
$ cp -a /usr/include/expat*.h ${SLSRC}/libraries/i686-linux/include/expat
$ mkdir ${SLSRC}/libraries/i686-linux/include/zlib
$ cp -a /usr/include/zlib*.h ${SLSRC}/libraries/i686-linux/include/zlib/
$ mkdir ${SLSRC}/libraries/i686-linux/include/openjpeg
$ cp ${OPENJPEG}/libopenjpeg/openjpeg.h ${SLSRC}/libraries/i686-linux/include/openjpeg/
$ cp ${OPENJPEG}/libopenjpeg.a ${SLSRC}/libraries/i686-linux/lib_release_client/
$ cp ${FMOD}/api/inc/* ${SLSRC}/libraries/i686-linux/include/
$ cp ${FMOD}/api/libfmod-3.75.so ${SLSRC}/libraries/i686-linux/lib_release_client/
$ mkdir ${SLSRC}/libraries/i686-linux/include/ELFIO
$ cp ${ELFIO}/ELFIO/*.h ${SLSRC}/libraries/i686-linux/include/ELFIO/
$ cp ${ELFIO}/ELFIO/libelfio.so ${SLSRC}/libraries/i686-linux/lib_release_client/
$ mkdir ${SLSRC}/libraries/i686-linux/include/jpeglib
$ cp -a /usr/include/j*.h ${SLSRC}/libraries/i686-linux/include/jpeglib/
$ touch ${SLSRC}/libraries/i686-linux/include/jpeglib/jinclude.h
$ mkdir ${SLSRC}/libraries/i686-linux/include/llfreetype2
$ cp -a /usr/include/freetype2/freetype/ ${SLSRC}/libraries/i686-linux/include/llfreetype2/
$ cp -a /usr/include/ft2build.h ${SLSRC}/libraries/i686-linux/include/llfreetype2/freetype/
$ 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/
if your GTK is fairly recent and thus needs Cairo:
$ cp -a /usr/include/cairo/* ${SLSRC}/libraries/i686-linux/include/
Compiling
$ cd indra
$ scons DISTCC=no BTARGET=client BUILD=release
- resulting unstripped binary is then newview/secondlife-i686-bin
Running from inside the tree
- preparing to run 'in-tree'
- ensure you have indra/newview/app_settings/static_*.db2 - if not, you'll find it in the 'binary-common' package.
$ cp ../../scripts/messages/message_template.msg app_settings/
- running it!
$ ( cd newview && LD_LIBRARY_PATH=../../libraries/i686-linux/lib_release_client:${LD_LIBRARY_PATH}:/usr/local/lib ./secondlife-i686-bin )
Packaging the client
This doesn't work 'out of the box' as an automated process right now.