I would like to thank Arianna Benigno who wrote the original guides to compile Planeshift from CVS sources. Everything here is based on these guides.
Before you start building Planeshift from sources, you need to make sure that you have several development packages installed. The instructions here are tested using Gentoo Linux.
Since Gentoo Linux is source based, most of the development packages are already installed. I found that only curl, jam and svn were missing for me.
emerge -v jam subversion curl
Here is the official build document that may give you a clue, which packages should be installed and how:
All the following commands are run as a normal user and Planeshift will be built for that user only. Commands that you enter are in
blue color and everything else is the expected output on the console.
Choose a base directory for your installation. Planeshift will be installed into a subdirectory planeshift in the base directory and it can be your home directory. In this document I refer to the base directory as
<PATH>. Open a terminal and change your working directory to the base directory.
Revision numbers in this guide can be used to build the latest stable version of Planeshift that should work with the current Laanx server.
Get the Planeshift sources.
svn co https://planeshift.svn.sourceforge.net/svnroot/planeshift/stable planeshift
Download Cal3D library sources.
svn co -r 493 svn://svn.gna.org/svn/cal3d/trunk/cal3d cal3d
Download CrystalSpace sources.
svn co -r 28731 https://crystal.svn.sourceforge.net/svnroot/crystal/CS/branches/release/V1.2 cs
Download Crystal Entity Layer (CEL)
svn co -r 3178 https://cel.svn.sourceforge.net/svnroot/cel/cel/branches/release/V1.2 cel
Create a profile file that sets all the necessary environment variables. Save the file with the name
profile in the planeshift directory. In the following code replace
<PATH> with the full path to the directory where planeshift is built (for example
export LD_LIBRARY_PATH=<PATH>/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH export CRYSTAL=<PATH>/cs export CEL=<PATH>/cel export CSCONFPATH=<PATH>/cel export CAL3D=<PATH>/cal3d
Then load the profile. You have to reload the profile every time you exit the console and start another one.
If you want to modify compiler options, export CFLAGS and CXXFLAGS with your custom options:
export CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer -msse -msse2 -msse3 -mmmx"$
Build Cal3D library.
cd cal3dcal3d $
autoreconf --install --force
It might be that the autoreconf command fails with the message:
configure.in:62: error: possibly undefined macro: AM_USE_UNITTESTCPP'
Open the configure.in file with a text editor and delete the line 62 with 'AM_USE_UNITTESTCPP'. Then re-run autoreconf and continue with configure.
./configure --prefix=$CAL3Dcal3d $
cd ../cscs $
./configure --without-python --without-java --without-perl --without-lib3ds --with-libcal3d=$CAL3D
If you wanted to use your own compiler options and changed -march or -O, open the Jamconfig file with a text editor and delete the following lines:
COMPILER.CFLAGS += "-march=i586" ; COMPILER.CFLAGS.optimize += "-O3" ;
Then build CS:
jam -aq plugins cs-config walktest
If you have a dual core CPU, then you can add -j3 to the jam command:
jam -aq -j3 plugins cs-config walktest
Build Crystal Entity Layer. Use the -j3 option with jam to speed it up on dual core CPUs.
cd ../celcel $
./configure --without-pythoncel $
jam -aq plugins cel-config
Build Planeshift.cel $
cd ../planeshiftplaneshift $
If you wanted to use your own compiler options and changed -march or -O, open the Jamconfig file with a text editior and delete the following lines:
COMPILER.CFLAGS += "-march=i686" ; COMPILER.CFLAGS.optimize += "-O3" ;
Then continue with building. Use the -j3 option to speed up on dual core CPUs.
jam -aq client
Open updaterconfig.xml in a text editor and change the following lines:
1</whole_zips> <mirrors> <active id="1" />
<mirror id="1" name="mir1" url="http://laanx.fragnetics.com/updater_hidden/" repository="repository.zip" files="" /></mirrors> <modules>
Then run the updater.
Every time you want to run Planeshit or setup, you need to load the profile:
Then start the setup or Planeshift:
Or you can create a script file, which you can call runpsclient:
#!/bin/bash source profile ./psclient
Make sure that you make the script executable:
chmod a+x runpsclient
Now you can skip the profile loading and run Planeshift using the following command: