Install » History » Version 25

« Previous - Version 25/204 (diff) - Next » - Current version
Tunnell, Christopher, 28 January 2011 15:36


This page will take you through getting the prerequisites of installing MAUS and ensuring that it's working. This will come in five phases:

  • Prerequisites - ensuring you have the basic tools required to compile code
  • Getting code - getting MAUS code (MAUS will attempt to handle dependencies)
  • Dependencies - installing third party dependencies that are required by MAUS
  • Building MAUS - ensuring everything compiles
  • Testing MAUS - running tests to ensure that you have a working copy of MAUS


If you already have development tools and libraries installed like GCC, you can skip this section and continue to the next section... if you are unsure, continue.

To check if you have a compiler (which generally indicates that you have the rest) run at the command line the command gcc. You should see something like the following:

gcc: no input files

which means you can continue to the next section. If you see something like the following:

bash: gcc: command not found

then continue with this section.

To be able to compile MAUS, you will of course need a compiler. This should come with your machine and will require the person who runs the machine to install this. The following sections will deal with installing these prerequisites on various types of Linux.

Scientific linux

To install the tools required to build software on Scientific Linux, you must run the following commands:

sudo yum groupinstall "Development Tools" 
sudo yum groupinstall "Development Libraries" 

where the sudo command means that this is run as the root superuser. If you do not have this access, you must ask your system manager. If you are running Scientific Linux 4.8, then please also run:

sudo yum install xorg-x11-devel

Please return to the beginning of this section and repeat the test.

Debian or Ubuntu

To install the tools required to build software on Debian-based systems, you must run the following commands:

sudo apt-get install build-essentials

where the sudo command means that this is run as the root superuser. If you do not have this access, you must ask your system manager. Please return to the beginning of this section and repeat the test.

Other distribution

Please try using google to find out how to do it for your specific architecture. If you succeed, then please post those instruction here and continue with these instructions. If you fail, please email the user mailing list ().

Getting the code

If you are a user, it is recommended that you use a release since the repository is meant to be unstable since people are developing on it. If you are a developer, you should user the 'Bazaar' method. Regardless: there are three options for obtaining code.

Using a release (recommended for users)

Please click on the Files tab above and download the file maus-latest-release.tar.gz. Or you could choose to download a later release if you choose. Upon downloading the file (I'm going to assume you're using the latest, but just change the filename if you aren't), then run:

tar xvfz maus-latest-release.tar.gz

to extract the code. You should now have a directory called 'maus'.

Using a nightly release

Nightlies are packed nightly. This is not meant to be stable but is a way of obtaining the latest code without requiring the installation of Bazaar. Please run the following two commands if you want the nightly (if you are behind a firewall, download the this file and ignore the 'wget' step).

tar xvfz maus_nightly.tar.gz

and you should now have a directory called 'maus'.

Bazaar (recommended for developers)

You must first install Bazaar: The command 'bzr' should now exist at the command line. Please then run:

bzr branch lp:maus

and you should now have a directory called 'maus'.


You can either setup the dependencies yourself or there is an automated script for building them within MAUS. MAUS depends on:

| Name | Version | *Comments*| | google-styleguide

gsl is included since ROOT can have trouble using versions of gsl that don't have -fPIC used when compiled for position independent shared library ( This is required if you want to embedd GSL within another shared library, which sadly isn't allowed in most default installations of GSL.

Obtaining the code

You have two options for obtaining the code: either you can grab a release from the files section of this website or you can checkout the repository. If you intend on making changes, then please checkout the source code.

Using a release

You must download the code to your machine then unpack it with the 'tar' command. In the below example, we assume you want to download the code using 'wget', that URL_OF_RELEASE is the URL of the code you found in the files section, and FILENAME is the filename.

tar xvfz FILENAME

Checking out the source code


Bazaar is the program we use to maintain the repository. If you wish to checkout MAUS to modify, you must first install bazaar then run the following command:

bzr branch lp:maus

If you get a 'command not found', then you must install bazaar.

Getting MAUS

Included in MAUS is scons and cxxtest.

Testing your new setup