Installation (Linux)

Gazebo relies on a number of third-party libraries that make installation a little bit tricky.

If things go wrong, please check the archives of the Gazebo mailing list. Please read the instructions below carefully before reporting posting to the mailing list.

These are the Linux installation instructions, OS X users should go install_osx "here".

Required 3rd Party Libraries

See Prerequisites

Preparing your system

The default install path for many source packages (Gazebo included) is:

In some Linux distributions, however, these paths are not searched by default, leading to problems when compiling and linking some packages. We therefore recommend that you configure your system with some additional paths (added to your .bashrc script, for example):

export PATH=/usr/local/bin:$PATH
export CPATH=/usr/local/include:$CPATH
export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH

The first line sets the executable path; the second sets the path for C and C++ header files; the third line sets the library search path. You will also need to set two more paths:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

This line sets the pkg-config path (a neat utility for mananging source dependencies).

Global Installation (requires root access)

$ tar xvzf gazebo-<version>.tar.gz
$ cd gazebo-<version>
$ scons
Note that scons will fail if any of the required packages are missing. Once Gazebo has been built, it can be installed:
$ su
$ scons install
$ exit

Gazebo is now ready to run; try:

$ gazebo /usr/local/share/gazebo/worlds/

Local installation (does not require root access)

Some developers prefer to install Gazebo in our home directory (e.g., /home/[username]/local) rather than in a system directory. This is useful if you are working on shared machines and/or lack root access. Naturally, local installs can make it a bit tricky for Gazebo (and other packages) to find the right headers, libs and so on. Here, then, is the recommended way to do it:

Everything should now work seamlessly, and your locally installed packages will be used in preference to any system-wide defaults.

Configuration File

Gazebo needs some system information in order to load plugins, texture files, models, etc. This information is place in gazeborc file in the user's home directory. This file also will have other properties of this machine, work around for incomplete graphics drivers, etc. The file is called .gazeborc and typical contains:

<?xml version="1.0"?>

If this file does not exist, then the builder will automatically create the file with appropriate values. If the file does exist, the builder will not overwrite it. RTTMode can have three values: "Copy", "PBuffer" and "FBO". "Copy" is the oldest and most basic method, "PBuffer" is newer and "FBO" is the lastest shiny new RTT method. The availability of those methods depends on the graphic card drivers. If the driver are old chances are that only "Copy" work with decent performance and without artifacts. If the driver support them, using the newest method will give better framerates. Gazebo uses PBuffer by default. With the current version of fglrx driver there is no performance difference between FBO and Copy modes and Copy has more functionalities.


To uninstall Gazebo, all we have to do is clean the installation of our SVN copy. This is done with the -c switch.

$ su
$ scons -c install
$ exit

If you installed a local copy, simply:

$ scons -c install

Last updated Aug 04 2007