ros2 humble安装gazebo 11(classic),无法定位gazebo11以及gazebo:libignition-math6.so.6错误
我按照 如下步骤安装gazebo11
-
添加官方 Gazebo 11 PPA(适用于 Ubuntu 22.04)
sudo add-apt-repository ppa:openrobotics/gazebo11-non-amd64 # [129][135] -
更新索引
sudo apt update -
安装 Gazebo 11 本体及 ROS 2 桥接
sudo apt install -y gazebo11 libgazebo11-dev ros-humble-gazebo-ros-pkgs
但是
E: 软件包 gazebo11 没有可安装候选
E: 无法定位软件包 libgazebo11-dev
原因:
Ubuntu 22.04 的官方仓库不再直接提供 gazebo11 二进制包,因此之前那条 PPA 也没能命中。
官方给出的 最新可行方案(已在 2025-08-02 更新)是把 Gazebo 11 做成 独立包 放在 新的 PPA 里,并且支持 jammy 系统。
✅ 一键安装 Gazebo Classic 11(Ubuntu 22.04)
# 1. 清理残留
sudo apt remove --purge gazebo* libgazebo* 2>/dev/null
sudo apt autoremove -y
# 2. 添加 **新版 Gazebo 11** 专用 PPA
sudo add-apt-repository ppa:openrobotics/gazebo11-gz-cli
sudo apt update
# 3. 安装本体 + 开发头文件 + ROS 2 桥接
sudo apt install -y gazebo11 libgazebo11-dev ros-humble-gazebo-ros-pkgs
✅ 验证
gazebo --version # 应输出 11.x.x
gzserver --version # 同上
⚠️ 常见坑
- 如果仍提示依赖缺失,用
aptitude自动解依赖:sudo apt install aptitude sudo aptitude install gazebo11 libgazebo11-dev - 若你同时装有 Ignition/Harmonic,
gazebo11-gz-cli会避免命令冲突,Gazebo Classic 的命令是gz11而不是gz。
完成上述步骤后,即可在 Ubuntu 22.04 上正常使用 Gazebo Classic 11 + ROS 2 Humble 环境。
参考:https://gazebosim.org/docs/latest/install_gz11_side_by_side/(gazebo官方文档)
我在安装完之后运行gazebo,出现新的错误:
gazebo: error while loading shared libraries: libignition-math6.so.6: cannot open shared object file: No such file or directory
解决方式:
gazebo 二进制根本找不到任何 libignition-math6.so.6,说明系统里 没有真正安装 这个库,或者 安装了但不在标准搜索路径。
✅ 终极三步:一次性装对、链对、搜对
① 确认并安装缺失库(含软链)
sudo apt update
sudo apt install --reinstall libignition-math6 libignition-math6-dev
② 把库所在目录加入系统搜索路径
echo "/usr/lib/x86_64-linux-gnu" | sudo tee /etc/ld.so.conf.d/ignition-math6.conf
sudo ldconfig
③ 再次确认
ldd $(which gazebo) | grep ignition-math6
# 期望输出:
# libignition-math6.so.6 => /usr/lib/x86_64-linux-gnu/libignition-math6.so.6 (0x...)
❗ 如果 apt 仍旧报 “无法定位包”
Ubuntu 22.04 官方仓库 确实不再提供 gazebo11 及 ignition-math6,请改用 官方 PPA:
sudo add-apt-repository ppa:openrobotics/gazebo11-gz-cli
sudo apt update
sudo apt install gazebo11 libgazebo11-dev ros-humble-gazebo-ros-pkgs libignition-math6 libignition-math6-dev
完成上述步骤后:
gazebo --version # 应无报错
即可彻底解决 “libignition-math6.so.6 找不到” 的问题。
更多推荐
所有评论(0)