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 PrerequisitesPreparing your system
The default install path for many source packages (Gazebo included) is:/usr/local /usr/local/bin /usr/local/include /usr/local/lib
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
$ su $ scons install $ exit
Gazebo is now ready to run; try:
$ gazebo /usr/local/share/gazebo/worlds/pioneer.world
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:
- Pick a spot for "local" installs; for me it is "/home/[username]/local". The install scripts will create relevant subdirs under this, such as:
/home/[username]/local/bin /home/[username]/local/include /home/[username]/local/lib
- Set up the necessary compiler paths in your .bashrc (or whatever) script; e.g.: 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.
export PATH=~/local/bin:$PATH export CPATH=~/local/include:$CPATH export LIBRARY_PATH=~/local/lib:$LIBRARY_PATH
- Set up some additional paths in your .bashrc (or whatever): This line sets the pkg-config path (for applications using pkg-config, which will be everything in the Player/Stage/Gazebo project pretty soon)
export PKG_CONFIG_PATH=~/local/lib/pkgconfig:$PKG_CONFIG_PATH
- Build and install Gazebo using the "prefix" argument:
$ scons prefix=/home/[username]/local install
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"?> <gazeborc> <gazeboPath>/usr/local/share/gazebo</gazeboPath> <ogrePath>/home/nate/local/lib/OGRE</ogrePath> <RTTMode>PBuffer</RTTMode> </gazeborc>
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.
Uninstall
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