安装工具
建议使用一些额外的工具来帮助编译源代码,尽管其他正确获取和构建源代码的方法也是可能的。
获取所有库的源代码的最简单方法是使用 vcstool。
要以正确的顺序编译所有不同的库和 ign-gazebo, 建议使用colcon。colcon 工具可在所有使用 pip(或 pip3,如果 pip 失败)的平台上使用。
某些工具需要 Python 3.5(或更高版本),这不是某些平台(如 Ubuntu Focal)上的默认选项。在无法轻松更改默认选项的情况下,Python virtualenv可能是一个有用的解决方案。
通用工具
安装本教程所需的工具:
sudo apt install python3-pip wget lsb-release gnupg curl
来自 pip 的 vcstool 和 colcon
PIP 适用于所有平台:
pip install vcstool || pip3 install vcstool
pip install -U colcon-common-extensions || pip3 install -U colcon-common-extensions
检查在使用 PIP 安装时没有打印错误。如果您的系统无法识别这些命令,并且您使用的是与 Debian 或 Ubuntu 软件包兼容的系统,请参阅以下说明以使用apt
.
安装vcstool
并colcon
使用 PIP 后,您可能需要将其可执行文件添加到您的$PATH
. 检查这些软件包的安装位置:
pip show vcstool || pip3 show vcstool | grep Location
pip show colcon-common-extensions || pip3 show colcon-common-extensions | grep Location
如果您的安装路径以 为前缀$HOME/.local
,则您可能需要将此目录中的可执行文件添加到您的目录中,以避免在使用时及以后$PATH
出现“找不到命令”错误:vcstool
colcon
export PATH=$PATH:$HOME/.local/bin/
来自 apt 的 vcstool 和 colcon
另一种方法是使用.deb
Debian 或 Ubuntu 上可用的软件包:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install python3-vcstool python3-colcon-common-extensions
git
Ignition 库git
用于版本控制,因此它必须在系统中可用vcstool
才能正常工作。
sudo apt-get install git
获取来源
下面的说明使用一些 UNIX 命令来管理目录,但 Windows 上的等效替代方案应该提供相同的结果。
第一步是创建一个开发人员工作区,vcstool
并且 colcon
可以在其中工作:
mkdir -p ~/workspace/src
cd ~/workspace/src
所有点火花园的来源都在 yaml 文件中声明。将其下载到工作区:
wget https://raw.githubusercontent.com/ignition-tooling/gazebodistro/master/collection-garden.yaml
用于vcstool
从其存储库中自动检索所有 Ignition 库源:
vcs import < collection-garden.yaml
src 子目录应该包含所有准备构建的源。
安装依赖项
在编译之前,有必要安装构成 Garden 集合的不同包的所有依赖项。每个平台都有不同的方法来安装软件依赖项。
添加packages.osrfoundation.org
到 apt 来源列表:
sudo wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
下面的命令将在 Ubuntu Bionic 或 Focal 中安装所有依赖项:
sudo apt -y install \
$(sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt' | grep -v '/\.git/') | sed '/ignition\|sdf/d' | tr '\n' ' ')
安装编译器要求
Ignition 库需要 gcc 编译器版本 8 或更高版本。(Windows 需要 Visual Studio 2019)。
Ubuntu 仿生
Ubuntu Bionic 的默认编译器版本不够高,需要按照以下步骤进行升级。Ubuntu Focal 不需要这些。
gcc
在 Ubuntu Bionic 上安装版本 8:
sudo apt-get install g++-8
将gcc-8
和设置g++-8
为默认编译器。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8
此时gcc
,g++
两者都应该报告版本 8。使用以下命令对此进行测试。
gcc -v
g++ -v
构建点火库Building the Ignition Libraries
一旦编译器和所有源代码都准备就绪,就可以编译它们了。通过更改到工作区并列出由以下内容识别的包来启动该过程colcon
:
cd ~/workspace/
colcon graph
colcon graph
应该列出带有 相互依赖关系图的 Ignition 库。如果是这种情况,那么您就可以构建整套库了:
colcon build --merge-install
为了加快构建过程,您还可以使用禁用测试
colcon build --cmake-args -DBUILD_TESTING=OFF --merge-install
构建一个包含所有依赖包的特定包:
colcon build --merge-install --packages-up-to PACKAGE_NAME
要构建单个包:
colcon build --packages-select PACKAGE_NAME
访问colcon 文档以查看更多colcon
构建和测试选项。
如果没有错误,所有二进制文件都应该可以使用了。
使用工作区
每次使用新终端时都需要获取工作空间。
运行以下命令以在 bash 中获取工作空间:
. ~/workspace/install/setup.bash
或者在 zsh 中:
. ~/workspace/install/setup.zsh
这是源安装说明的结尾;返回入门 页面开始使用 Ignition!