Source Installation on Windows 10#
Command line tools, DART physics engine, and GUI capabilities are
not currently supported in Windows. These functionalities correspond to the currently
building packages gz-tools
, gz-physics
, and gz-gui
, respectively.
Note
You will still be able to use TPE
as a physics engine
(see here for more information on TPE
).
Install dependencies#
Install a Conda package management system. Miniconda suffices. You will likely want to check the box to add
conda
to yourPATH
during the installation process so that you won’t have to do this step manually.Install Visual Studio 2019. The Community version is free for students, open-source developers, and personal development. Check “Desktop development with C++” in the Workloads tab, check “MFC and ATL support”, and uncheck “C++ Cmake Tools.” We will install cmake via Conda.
Open a Visual Studio Command Prompt (search for “x64 Native Tools Command Prompt for VS 2019” in the Windows search field near the Windows button). Optionally, right-click and pin to the task bar for quick access in the future.
If you did not add Conda to your PATH
environment variable during Conda installation,
you may need to navigate to the location of condabin
in order to use the conda
command.
To find condabin
, search for “Anaconda Prompt” in the Windows search field near the
Windows button, open it, run where conda
, and look for a line containing the directory condabin
.
Navigate to your
condabin
, if necessary, and then create and activate a Conda environment:
conda create -n gz-ws
conda activate gz-ws
Once you have activate an environment, a prefix like (gz-ws)
will be prepended to
your prompt, and you can use the conda
command outside of the condabin
directory.
You can use conda info --envs
to see all of your environments.
To remove an environment, use conda env remove --name <env_name>
.
Install dependencies:
conda install cmake git vcstool curl pkg-config ^
colcon-common-extensions eigen freeimage gdal gts ^
glib dlfcn-win32 ffmpeg ruby tinyxml2 tinyxml ^
protobuf urdfdom zeromq cppzmq ogre jsoncpp ^
libzip qt pybind11 --channel conda-forge
Navigate to where you would like to build the library, create and enter your workspace directory, create the
src
directory which will contain the Gazebo source code.
mkdir gz-ws
cd gz-ws
mkdir src
Then clone the repositories
# CMD
curl -sk https://raw.githubusercontent.com/gazebo-tooling/gazebodistro/master/collection-garden.yaml -o collection-garden
vcs import src < collection-garden
# PowerShell
curl https://raw.githubusercontent.com/gazebo-tooling/gazebodistro/master/collection-garden.yaml -o collection-garden
vcs import --input collection-garden src
Building the Gazebo Libraries#
Once the compiler and all the sources are in place it is time to compile them.
Start the procedure by navigating to your workspace and listing the packages
recognized by colcon
:
colcon graph
colcon graph
should list the Gazebo libraries with an
interdependency diagram.
If that is the case, then you are ready to build the whole set of libraries:
colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install --packages-up-to gz-sim7
Tests are turned off as they are not currently supported on Windows.
Note: All of the Gazebo packages up to, but not including gz-sim
are currently building. The above command should successfully build all packages except for gz-sim
.
To build a specific package with all its dependent packages:
colcon build --merge-install --packages-up-to PACKAGE_NAME
To build a single package:
colcon build --packages-select PACKAGE_NAME
Visit colcon documentation to view more colcon
build and test options.
If there are no errors, all the binaries should be ready to use.
Using the workspace#
The workspace needs to be sourced every time a new terminal is used.
Run the following command to source the workspace:
# CMD
call install\setup.bat
#PowerShell
.\install\setup.ps1
This is the end of the source install instructions; head back to the Getting started page to start using Gazebo!
Uninstalling source-based install#
A source-based install can be “uninstalled” using several methods, depending on the results you want:
If you installed your workspace with
colcon
as instructed above, “uninstalling” could be just a matter of opening a new terminal and not sourcing the workspace’ssetup.bat
. This way, your environment will behave as though Gazebo is not installed on your system.If, in addition to not wanting to use the libraries, you’re also trying to free up space, you can delete the entire workspace directory from within your
conda
environment with:rm -rf <workspace_name>
If you want to keep the source code, you can remove the
install
/build
/log
directories as desired, leaving thesrc
directory.
Troubleshooting#
See Troubleshooting