Downloading and Compiling under Linux

From Arx Libertatis Wiki
Jump to: navigation, search

This page describes compiling Arx Libertatis from source under Linux and assumes some familiarity with the command-line. If you just want to play the game, it might be easier to grab a binary package if available.

Please see Installing the game data under Linux regarding where and how to install the game data.

This page documents how to compile Arx Libertatis from https://github.com/arx/ArxLibertatis under Linux or FreeBSD.
There are also instructions available for Windows and Mac OS X

Specific instructions are given for a cleanly installed Ubuntu 12.04 amd64 system, but the procedure should be similar for other Linux distributions or FreeBSD. Please update this page if something is missing.

There is also a nice, but possibly outdated video how-to on linuxgamecast.com.

Contents

Setting Up the Build Environment

To download and compile Arx Libertatis you will need the following tools:

  • git
  • cmake (version 2.8 or later)
  • a gcc or clang toolchain

Your system must have the following dependencies installed, including headers / development versions:

If both SDL 1.2 and SDL 2 are installed, arx will use SDL 2 - if you don't want this, pass -DWITH_SDL=1 to cmake.

The optional crash reporter application also needs:

If both Qt 4 and Qt 5 are installed, arx will use Qt5 - if you don't want this, pass -DWITH_QT=4 to cmake.

The dependencies listed here are for the current development version of Arx Libertatis. For older versions refer to the README.md file in the respective source distribution.

Example for apt-based systems

On an apt-based system such as Debian or Ubuntu, use:

sudo apt-get install git build-essential cmake zlib1g-dev libfreetype6-dev libopenal1 libopenal-dev mesa-common-dev libgl1-mesa-dev libboost-dev libsdl1.2-dev libglew-dev qt-sdk gdb

On Ubuntu 12.04 be sure to install Boost 1.48: sudo apt-get install libboost1.48-dev

Your package manager will probably prompt you to install other packages, so just say yes to those. qt-sdk is not needed for the game to run, but without it the crash reporter will be disabled, making it harder to report errors in case of a crash. gdb is used to generate detailed crash information and is not needed at compile-time.

Getting the source code

There are several methods to get the Arx Libertatis source code - choose the one that suits you best:

Downloading a released version

The easiest way to get the AL source code is to download a versioned release. This will get you a reasonably up to date copy of the source code that has been tested to work.

Cloning the repository

If you want the absolute latest version of the Arx Libertatis development code and stay up to date, you can clone the AL source code repository. Beware that this will give you the current master development branch that we are actively working on. While the code in that branch should always work, it hasn't undergone any significant testing. If you just want to play the game, consider using a released version instead.

To clone the repository, type:

git clone git://github.com/arx/ArxLibertatis.git

This creates a directory called ArxLibertatis and downloads the current source code from github.

Later if you want to update your local copy of the source code, run

git pull

Downloading a snapshot

Alternatively you can download the current snapshot of the source code repository as a .zip or .tar.gz file and extract that:

This will give you the same code as cloning the repository, but won't let you update it without downloading everything again.

Compiling

First go to where you downloaded / extracted the AL source code (the directory containing the `CMakeLists.txt` file):

cd ArxLibertatis

Then create a build directory that will contain compiled files.

mkdir build
cd build

Now you should be ready to configure and compile. Run cmake:

cmake ..

And now you should be able to compile with

make -j`getconf _NPROCESSORS_ONLN`

Alternatively, you can tell cmake to generate a unity build file, which might result in faster build times and better optimization depending on your machine configuration but will need more RAM to compile. Run cmake like this:

cmake .. -DUNITY_BUILD=1

And make without the -j flag, since in effect there is only one file to build, named ub_arx.cpp

Running the executable

For a manual installation, run arx by specifying a relative path to the arx executable:

./arx

If you installed arx through the package manager of your distro, just run arx.

You will need to obtain a copy of the data files from a commercial copy of Arx, or use the demo data files. Arx Libertatis comes with a script to extract these and install the files in the correct location.

The game will automatically change all used files to lower-case on the first start. If you want to run the game with read-only data you need to do this manually.

For running arx in a debugger, see Debugging

Personal tools
Namespaces

Variants
Actions
Navigation
External
Tools