Linux Development

From Armagetron
Revision as of 10:41, 13 January 2009 by Z-man (talk | contribs) (→‎Get Sources)

Sections: Installing the Game | Playing the Game | Competition Hub | Server Administration | Extending Armagetron Advanced | Development Docs


This guide assumes you're familiar with the linux console. All commands listed here are supposed to be entered there. For system andministration tasks, you have to be logged in as the superuser 'root'. (K)Ubuntu users need to prepend a 'sudo ' in front of all system administration commands.

Install Development Environment and Dependencies

The method differs from distribution to distribution. Required for all builds are:

* The compiler gcc/g++ and its libraries
* Python
* the library libxml2

For 0.2.8 client builds, you need development files for

* OpenGL
* SDL
* SDL_image
* libpng

For trunk builds, you need

* boost

For trunk client builds, you'll also need

* SDL_mixer
* freetype
* ftgl
* GLEW (optional right now)

(K/X)Ubuntu

To get all of this at once, enter at the console

sudo apt-get install g++ python libxml2-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libfreetype6-dev libftgl-dev libglew1.5-dev libpng-dev libboost-dev

Tested with Kubuntu 8.10.

Debian

Should be identical to Ubuntu, but without the sudo, and instead you need to be logged in as root.

Fedora/Red Hat

yum install SDL-devel SDL_image-devel SDL_mixer-devel freetype-devel ftgl-devel glew-devel python boost-devel

Yay for sane package names.

Gentoo

To get all of this at once (minus python and g++, which are installed by default), enter at the console

emerge libxml2 libsdl sdl-image sdl-mixer freetype ftgl glew libpng boost

Boost takes a long time to build, so you may want to omit it if you don't need it.

Get Sources

From a distribution

Well, you download a source tarball (.tar.gz, .tar.bz2, .tbz or .tgz file extension), either from download page. Then you unpack it with either

tar -xzf <name of tarball plus extension>

if the extension was a .tar.gz or .tgz, resp.

tar -xjf <name of tarball plus extension>

if the extension was a .tar.bz2 or .tbz. Either way, you'll get a shiny new directory called armagetronad-<version>. That's the source.

No bootstrap is required here.

From SVN

You need SVN/subversion installed for this. Get 0.2.8 via

svn co https://armagetronad.svn.sourceforge.net/svnroot/armagetronad/armagetronad/branches/0.2.8/armagetronad

And the trunk with

svn co https://armagetronad.svn.sourceforge.net/svnroot/armagetronad/armagetronad/trunk/armagetronad

Then you continue with the bootstrap process.

From BZR

Get the latest 0.2.8 source with

bzr branch lp:armagetronad/0.2.8 armagetronad

and the trunk with

bzr branch lp:armagetronad

Then you continue with the bootstrap process.

Bootstraping

First, more installation to do. You'll need the autotools for this step. So enter

X automake autoconf

where X is "sudo apt-get install" for Ubuntu, "apt-get install" for Debian, "emerge" for Gentoo and "yum install" for Fedora. You need root rights for all but Ubuntu.

The SVN/BZR processes should have left you with a source checkout in the directory named "armagetronad". Do

cd armagetronad
./bootstrap.sh
cd ..

to generate some files that are not kept in the source repository because they can be automatically generated in that way. Typically, you don't have to repeat this step after you update the source via "svn update" or "bzr pull" or any other way, the build system will take care of that.

Building and Installing

Configure

Build

Test

Install