Build STK on Linux

Note that these instructions apply to STK versions more recent than 0.8 alpha. If you want to compile an older version, please use the history feature of the wiki.

If you are a packager making a package for a Linux distribution, please do not try to modify our build system to use system versions of bullet and irrlicht. In both cases we use a specific and/or modified version of the library, and linking STK against the system library will only introduce bugs (corrupted graphics, memory leaks) into SuperTuxKart. Thanks


Contents

Installing dependencies

First of all, you will need a c++ compiler, the autotools build system and cmake. Other dependencies you will need include openal, ogg, vorbis. You don't need to install irrlicht, bullet, enet or wiiuse because they are included in the git repository.

yum install gcc-c++ autoconf automake git-core libogg-devel libvorbis-devel openal-soft-devel fribidi-devel subversion libcurl-devel cmake libbluedevil-devel.x86_64

sudo apt-get install autoconf automake build-essential cmake git libogg-dev libvorbis-dev libopenal-dev libxxf86vm-dev libgl1-mesa-dev libglu1-mesa-dev libcurl4-openssl-dev libfribidi-dev libbluetooth-dev subversion libxrandr-dev

Obtain code and assets

STK is splitted up into code and assets, so you need these two commands two get both: git clone https://github.com/supertuxkart/stk-code.git stk-code # about 130 MB svn checkout https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets # about 650 MB See Source control for more information.

The stk-code and the stk-assets directory need to be in the same folder. This means that you need the following folder structure:

Building SuperTuxKart

Then build SuperTuxKart using CMake:

cd stk-code mkdir cmake_build cd cmake_build cmake .. make -j2

You can speed up compilation heavily by changing the number behind -j to the number of cores you have.

There is a varity of possible CMake options. THe most important ones are listed below:


Finally, you can simply run SuperTuxKart from the build directory: ./bin/supertuxkart

Optionally, STK can be installed /usr/local in using

sudo make install

If you want to install somewhere else, add the following options to cmake:

-DCMAKE_INSTALL_PREFIX=/path/to/install

If you want to update your copy of STK to the current git/SVN versions, go to the parent directory of stk-code: cd stk-code git pull make -j2 cd ../stk-assets svn update

Using Eclipse

If you want to use the eclipse ide, use the following approach:

In the trunk :

   mkdir cmake_build
   cd cmake_build
   cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..

This will generate project files based on the cmake files.

Now you can open Eclipse, Import -> Existing projects into workspace, browse to the trunk and import the build project.

Though, I recommend making a new project with the trunk as directory so that you can actually browse the source in the IDE and use the source control (SVN/GIT) plugins.

Now right-click on this project -> New -> Convert to C++ Project (Possibly not needed if you made a C++ project in the previous step.)

Right-click the project -> properties -> C/C++ Build

Now you can build the project by :

For easier code browsing an making use of Eclipse features :

C/C++ Build -> Discovery options

Apply

Right-click project -> index -> rebuild

Retrieved from "http://supertuxkart.sourceforge.net/Build_STK_on_Linux"

User Tools