Gazebo relies on a number of third-party libraries that make installation a little bit tricky. If things go wrong, please check the install_os_problems section and the archives of the Gazebo mailing list. Please read the instructions below carefully before posting to the mailing lists.

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

The OS X installation is a little tricker than the Linux installation, partly because of the large number of dependencies that need to be installed, and partly because of the quirky file system layout. As a first step, you must prepare your system:

Some models (e.g., terrains and roads) require the OPCODE collision detection library (now part of the ODE distribution). The following steps are required to build ODE with OPCODE support.

Install (or re-install) ODE with OPCODE enabled; this requires some editing of the ODE configuration files:

$ tar xvzf ode-0.5.tgz
$ cd ode-0.5

Open the file config/user-settings, and change the default OPCODE_DIRECTORY:

OPCODE_DIRECTORY=[srcdir]/OPCODE/

where [srcdir] is the fully qualified path to the ODE source distribution. I.e., if the original ODE tarball is in /home/[username]/tmp, this should read /home/[username]/tmp/ode-0.5/OPCODE/. Note that the comments for this section of the settings file are bogus; ignore them. Finish installing ODE:

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:

Pick a spot for "local" installs; for me it is "/home/[username]/local". The install scripts will create relevant subdirs under this, such as:

The first line sets the pkg-config path (for applications using pkg-config, which will be everything in the Player/Stage/Gazebo project pretty soon); the second line is for Python extensions (the version number should match the version of Python you have installed; type "python -V" if in doubt).