PlaneShift
Support => Linux Specific Issues => Topic started by: booiiing on July 29, 2005, 02:56:57 pm
-
original post
hi everybody,
i am just trying to compile planeshift on debian-testing (etch at the moment), following this guide (http://laanx.fragnetics.com/index.php?page=build_debian).
i just wanted to note that libtool is missing in the list of packages needed.
also, i am trying to build it with the xorg-version of libglu instead of mesa. i will report the progress.
regard the postings that follow this one as personal notes, i will post an updated version of the guide here, when i\'m finished :D
so here we go:
Debian Build Guide
This page gives a fairly detailed description on how to get a working client up and running in Debian. It gives instructions on how to get all the required tools and how to check out the source code and configure it. At the end there you will have a PlaneShift client and a PlaneShift updater application.
It got updated to use Debian/Etch with Xorg and GCC-4-binaries.
Set Working Environment
The first thing you want to do is setup a working dir where you will do the builds. In this case I will use:
/home/andrew/development/
You can use whatever directory you want but be sure to use the same one thoughout the document.
Now we need some packages, so do:
apt-get install bison-1.35 flex-old libmng-dev libmikmod2-dev libogg-dev libvorbis-dev zlib1g-dev libpng3-dev libjpeg62-dev libglu1-xorg-dev python2.3-dev autoconf automake1.8 libcurl3-dev jam libtool
I you want to use OpenAL for sound, you have to install libopenal-dev[/], too.
Of course you can use another packaging-tool of your choice, like aptitude or synaptics.
Building Cal3d Library
Using the libcal3d-packages of Debian will not work at the moment. They\'re too old.
We need to build cal3d from source before we can start on Crystal Space. Cal3d is a library that is used for handling skeleton systems. This is a very nice system and can allow for fluid transformations between animations. This needs to be built/installed first because when we configure Crystal Space it has to find the cal3d libraries so it can know to build the sprcal3d plugin.
First step is to check out the source code from CVS:
/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cal3d login
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cal3d co cal3d -D 2005-05-18 12:00:00
You can do it without -D 2005-05-18 12:00:00, if you want to be bleeding-edge, but this is not recommended.
Since cal3d is a library in development we probably don\'t want to \'install\' this one as root since there is a good possiblity it will change in the future. Instead we will \'install\' it into our working directory. This is done by using the --prefix option when we configure it.
/home/andrew/development/cal3d$ ./autogen.sh
/home/andrew/development/cal3d$ ./configure --prefix=/home/andrew/development/cal3d
/home/andrew/development/cal3d$ make
/home/andrew/development/cal3d$ make install
Because we did not install cal3d system-wide, we need to make sure other things can find it. This is done using the LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/home/andrew/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
Build Crystal Space
Using the Debian-Packages of crystalspace with Planeshift will not work at the moment. At least version 0.99 is needed.
Crystal Space is the cross platform engine that we use for rendering and sound. First need to check out the code for it:
/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal login
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal co CS -D 2005-05-18 12:00:00
Now we can build it ( in debug mode ) and use the configure line to tell it where we installed the cal3d libraries. To do this just use the prefix line that was used for Cal3d above.
/home/andrew/development/CS$ ./configure --enable-debug --with-cal3d=/home/andrew/development/cal3d
/home/andrew/development/CS$ jam libs
/home/andrew/development/CS$ jam plugins
/home/andrew/development/CS$ jam cs-config
We should add the CRSYTAL environment variable to the .bashrc file so applications outside the Crystal Space tree know where to find the .so\'s:
export CRYSTAL=/home/andrew/development/CS
Build CEL
CEL is Crystal Space Entity Layer. It\'s a layer on top of Crystal Space that is used for entity and behaviour control. We need to add a couple more things to the .bashrc for CEL:
export CEL=/home/andrew/development/cel
export CSCONFPATH=/home/andrew/development/cel
Now check out the code and build.
/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cel login
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cel co cel -D 2005-05-18 12:00:00
Now we can build it ( in debug mode )
/home/andrew/development/cel$ ./configure --enable-debug
/home/andrew/development/cel$ jam -a
Build PlaneShift
First get the source code:
/home/andrew/development$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/planeshift login
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/planeshift co planeshift -D 2005-05-18 12:00:00
Configure and build now:
/home/andrew/development/planeshift$ ./autogen.sh
/home/andrew/development/planeshift$ ./configure --enable-debug --with-cal3d=/home/andrew/development/cal3d
/home/andrew/development/planeshift$ jam -a
This should have created the psclient and psupdater applications.
Get the Art
The artwork for PlaneShift is not included in the CVS. However this is what the updater application is for. This connects to our update central site and downloads all the missing material. For linux all you need is updated art and data files. This is done by editing the updaterconfig.xml file and first setting the mirror to use. Our mirror is:
Now adjust the section to only have art and data. You can now start the updater. On the first wrong the updater will look very bad since it does not yet have the art work. Nevertheless, let the updater run for a long time. There may be upwards of 200 MB of data to download.
Run the updater like: /home/andrew/development/planeshift$ ./updater --auto for the non-visual one.
Now you have to make sure PlaneShift.GUI.Imagefile is set to /planeshift/data/gui/releaselist.xml in planeshift.cfg. It should look like this:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/releaselist.xml
Once this is complete PS should be ready to run. Be sure to create your account first at our registration page.
-
there is a small mistake in the guide, if you want to build the latest sources (probably a change in the configure-script).
Originally posted in the guide
/home/andrew/development/planeshift$ ./configure --enable-debug --with-libcal3d=/home/andrew/development/cal3d
the correct line would be /home/andrew/development/planeshift$ ./configure --enable-debug --with-cal3d=/home/andrew/development/cal3d
-
actually, there is some more work to do about libcal3d.
the new configure-script of planeshift assumes libcal3d to be installed, even when you give the --with-cal3d option.
so we have to install it. as we do not want to hurt our precious clean debian-system, one has to configure libcal3d with:
./configure --prefix=/home/andrew/development/cal3
(Path taken from the example in the guide) and do a make install after that make
note that all this can be done as a normal user, no root-intervention is needed.