Skip to content

macOS 源码安装

本教程适用于 macOS Ventura、Sonoma 和 Sequoia。

建议使用一些额外工具来辅助源码编译,当然也可以通过其他方式获取和构建源码。

获取所有库源码最简单的方法是使用 vcstool。

要以正确的顺序编译各个库和 gz-sim,推荐使用 colcon。

Jetty 的构建工具和依赖可通过 Homebrew 包管理器 安装。安装 Homebrew 后,添加 osrf/simulation tap 即可安装预构建的依赖。

Terminal window
brew tap osrf/simulation
brew trust osrf/simulation
brew update

在 macOS Ventura 上构建 Gazebo 库至少需要 Xcode 14。使用 Xcode Command Line Tools 即可,安装方式如下:

Terminal window
xcode-select --install

Jetty 兼容 Python 3。从 Homebrew 安装最新版本:

Terminal window
brew install python3
Terminal window
python3 -m venv $HOME/vcs_colcon_installation
. $HOME/vcs_colcon_installation/bin/activate
pip3 install vcstool colcon-common-extensions

首先创建一个开发者工作区,供 vcstool 和 colcon 使用:

Terminal window
mkdir -p ~/workspace/src
cd ~/workspace/src

gazebo-jetty 的所有源码信息都写在一个 yaml 文件中。将其下载到工作区:

Terminal window
curl -OL https://raw.githubusercontent.com/gazebo-tooling/gazebodistro/master/collection-jetty.yaml

使用 vcstool 从各仓库自动拉取所有 Gazebo 库的源码:

Terminal window
vcs import < collection-jetty.yaml

此时 src 子目录中应该已包含所有可构建的源码。

Ogre 的依赖:

Terminal window
brew install --cask xquartz

通用依赖:

Terminal window
brew install assimp boost bullet cli11 cmake cppzmq dartsim doxygen eigen fcl ffmpeg flann freeimage freetype gdal gflags google-benchmark ipopt jsoncpp libccd libyaml libzzip libzip nlopt ode open-scene-graph ossp-uuid ogre1.9 ogre2.3 pkg-config protobuf qt@6 qwt rapidjson ruby tbb tinyxml2 urdfdom zeromq

编译器和所有源码就位后,即可开始编译。首先进入工作区,查看 colcon 识别到的包:

Terminal window
cd ~/workspace/
colcon graph

colcon graph 应以 依赖关系图 的形式列出 Gazebo 库。确认无误后,即可构建整套库:

Terminal window
colcon build --merge-install

注意,如果你使用的是基于 ARM 架构的 Apple Silicon Mac,可能需要额外设置几个 cmake 参数:

Terminal window
colcon build --cmake-args -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_INSTALL_NAME_DIR=$(pwd)/install/lib --merge-install

为加快构建速度,也可以禁用测试:

Terminal window
colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install

若需使用调试器,请启用调试符号。Gazebo 运行会变慢,但可使用 lldb:

Terminal window
colcon build --cmake-args ' -DBUILD_TESTING=OFF' ' -DCMAKE_BUILD_TYPE=Debug' --merge-install

要构建某个包及其所有依赖包:

Terminal window
colcon build --merge-install --packages-up-to PACKAGE_NAME

要构建单个包:

Terminal window
colcon build --merge-install --packages-select PACKAGE_NAME

更多 colcon 构建和测试选项,请参阅 colcon 文档。

如果没有错误,所有二进制文件就都可以使用了。

每次打开新终端时都需要 source 工作区。

在 zsh(macOS 默认 shell)中运行以下命令来 source 工作区:

Terminal window
. ~/workspace/install/setup.zsh

或者如果使用的是 bash:

Terminal window
. ~/workspace/install/setup.bash

现在应该可以启动 Gazebo 了:

Terminal window
# launch server in one terminal
gz sim -v 4 shapes.sdf -s
# launch gui in a separate terminal
# remember to source the workspace setup script
gz sim -v 4 -g

源码安装说明到此结束;返回 入门 页面,开始使用 Gazebo!

参见 故障排除