You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译依赖Gazebo9的ROS包后Gazebo9无法启动的修复咨询

修复Gazebo9启动时的符号查找错误

先排查版本冲突问题

这个错误是因为系统里的ignition-fuel-tools库版本不匹配——Gazebo9依赖的是ignition-fuel-tools2,编译ROS包时大概率引入了更高版本的同系列库,导致动态链接时找错了文件。

先确认系统里的安装情况:

dpkg -l | grep ignition-fuel-tools

如果输出里有ignition-fuel-tools3或更高版本,那就是冲突根源。

临时修复(快速验证)

直接强制Gazebo加载正确的库文件,执行:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libignition-fuel-tools2.so gazebo --verbose

如果能正常启动,说明就是库路径优先级的问题,接下来可以做持久化修复。

持久化修复方法

方法1:调整系统库加载优先级

  1. 创建一个专门的配置文件,指定Gazebo9依赖库的优先加载路径:
sudo nano /etc/ld.so.conf.d/gazebo9.conf
  1. 把下面两行粘贴进去:
/usr/lib/x86_64-linux-gnu/ignition/fuel_tools2/
/usr/lib/x86_64-linux-gnu/
  1. 更新系统库缓存:
sudo ldconfig

之后直接启动gazebo应该就能正常运行了。

方法2:修改Gazebo启动脚本

找到Gazebo的启动脚本(一般在/usr/bin/gazebo),编辑它:

sudo nano /usr/bin/gazebo

在脚本开头的#!/bin/bash下面添加一行:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libignition-fuel-tools2.so:$LD_PRELOAD

保存退出后,每次启动Gazebo都会自动加载正确的库。

从根源解决:检查ROS包依赖

去看你编译的ROS包的package.xml和CMakeLists.txt,如果里面明确依赖了ignition-fuel-tools的高版本(比如3.x),把它改成ignition-fuel-tools2,然后重新编译包,避免以后再出现冲突。


内容的提问来源于stack exchange,提问作者distro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 07:10:46