Building Gazebo from source - MRebolle/Battery-Robot GitHub Wiki
Gazebo is the backbone of Revolve kit. The current version of Gazebo that we support is Gazebo 10. Here we explain the build instructions for Ubuntu and Mac OS X.
Common
-
Install the dependencies. See the specifics of your OS below: Ubuntu, Fedora or Mac OS X
-
Download the project
git clone https://github.com/ci-group/gazebo.git -b gazebo10-revolve -
Install Gazebo on your machine:
cd gazebo mkdir build && cd build cmake .. -DENABLE_SSE4=1 \ -DCMAKE_INSTALL_PREFIX=~/installed/gazebo_debug make -j4 make installIf you don't want to use the debug symbols, run cmake like this:
cmake .. -DENABLE_SSE4=1 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=~/installed/gazebo -
To test if the simulator is working correctly, follow the OS specific instructions.
[ Ubuntu . Fedora . Mac OS X ]
Build Gazebo on Ubuntu
-
Make sure you have removed the Ubuntu pre-compiled binaries before installing from source:
sudo apt-get remove '.*gazebo.*' \ '.*sdformat.*' \ '.*ignition-math.*' \ '.*ignition-msgs.*' \ '.*ignition-transport.*' -
Install OSRF simulation dependancies:
sudo apt-get install libignition-cmake-dev \ libignition-common-dev \ libignition-math4-dev \ libignition-msgs-dev \ libignition-tools1-dev \ libignition-transport4-dev \ libsdformat6-dev \ libsimbody-dev -
Test if the installation was successful. You can do this in two ways.
- First, if you run
gzserverin verbose mode:
The result of this command should be:export PATH=~/installed/gazebo_debug/bin:$PATH export LD_LIBRARY_PATH=~/installed/gazebo_debug/lib64 gzserver --verboseGazebo multi-robot simulator, version 10.1.0 Copyright (C) 2012-2015 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org [Msg] Waiting for master. [Msg] Connected to gazebo master @ http://127.0.0.1:11345 [Msg] Publicized address: 192.168.1.72 - Second, if
gzserverworks as expected you can rungazebo:
The result of this command should be:export PATH=~/installed/gazebo_debug/bin:$PATH export LD_LIBRARY_PATH=~/installed/gazebo_debug/lib64 gazebo
See next: Installation instructions for Revolve
Build Gazebo on Fedora
TODO
Build Gazebo on Mac OS X
In a clean Mac OS X installation you can install pre-compiled versions of all dependencies:
-
If not already available, install Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
Install XQuartz, which provides X11 support and is required by Gazebo and OGRE.
-
For 10.8 and earlier, install Xcode command-line tools by downloading them from Apple. For 10.9 and later, the system should prompt you to install them when you install Homebrew in step 1, otherwise install it with:
xcode-select --install -
Install OSRF simulation dependancies:
brew tap osrf/simulation brew install ignition-cmake0 \ ignition-common1 \ ignition-math4 \ ignition-msgs1 \ ignition-tools \ ignition-transport4 \ sdformat6 \ simbody \ qt5 \ qwt \ ogre1.9 \ tinyxml2 \ bulletFor optional dependencies:
# Model editor's schematic view brew install graphviz # TODO others? -
Link
gettextlibrary to/usr/includesince some of the dependencies may not link properly:brew link --force gettextNOTE: If not linked, this type of error occurs during a build-time:
ld: library not found for -lintl clang: error: linker command failed with exit code 1 (use -v to see invocation)
-
Download Gazebo
git clone https://github.com/ci-group/gazebo.git -b gazebo10-revolve -
Patch Gazebo If you installed dartsim, the compilation will give some errors in the Eigen library. To fix it you need to apply these two patches:
curl 'https://bitbucket.org/osrf/gazebo/commits/5ba948b87faf98eb038fc3488e88a07bc4bd9df9/raw' | patch -p1 curl 'https://bitbucket.org/osrf/gazebo/commits/c7b7f62f76722d57e768b1d2b4c8371841bf856c/raw' | patch -p1 -
Install Gazebo on your machine:
cd gazebo mkdir build && cd build cmake .. -DENABLE_SSE4=1 \ ~/projects/gazebo/build -DCMAKE_INSTALL_PREFIX=~/installed/gazebo_debug \ -DQWT_WIN_INCLUDE_DIR=/usr/local/lib/qwt.framework/Headers \ -DQWT_WIN_LIBRARY_DIR=/usr/local/lib/qwt.framework \ -DQt5_DIR=/usr/local/Cellar/qt/5.13.0/lib/cmake/Qt5/ \ -DPKG_CONFIG_PATH=/usr/local/opt/tinyxml2/lib/pkgconfig:/usr/local/opt/ogre1.9/lib/pkgconfig:/usr/local/opt/zmq/lib/pkgconfig:/usr/local/lib/pkgconfig/ make -j4 make installand check if the right version is installed
export PATH=~/installed/gazebo_debug/bin:$PATH export DYLD_LIBRARY_PATH=~/installed/gazebo_debug/lib/ gazebo --versionThe result of this command should be:
Gazebo multi-robot simulator, version 10.1.0 Copyright (C) 2012 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org -
Test if the installation was successful. You can do this in two ways.
- First, if you run
gzserverin verbose mode:
The result of this command should be:export PATH=~/installed/gazebo_debug/bin:$PATH export DYLD_LIBRARY_PATH=~/installed/gazebo_debug/lib/ gzserver --verboseGazebo multi-robot simulator, version 10.1.0 Copyright (C) 2012-2015 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org [Msg] Waiting for master. [Msg] Connected to gazebo master @ http://127.0.0.1:11345 [Msg] Publicized address: 192.168.1.72 - Second, if
gzserverworks as expected you can rungazebo:
The result of this command should be:export PATH=~/installed/gazebo_debug/bin:$PATH export DYLD_LIBRARY_PATH=~/installed/gazebo_debug/lib/ gazebo
See next: Installation instructions for Revolve