(已解决) ROS kinetic报错: lib***: cannot open shared object file: No such file or directory

15 篇文章 0 订阅
5 篇文章 1 订阅

系统: ubuntu 16.04, ROS kinetic

问题:

装好ROS后, 运行

roscore

发现一直 process died, 报错找不到 libroscpp.so, cannot open shared object file: No such file or directory
运行其他 roslaunch, 也是报错找不到各种 lib***: cannot open shared object file: No such file or directory

查了很多资料, 全是让 export LD_LIBRARY_PATH=/opt/ros/kinetic/lib, 但我这边尝试无效.

运行 echo $LD_LIBRARY_PATH, 看到明明已经设置成功了,但还是报同样错, 而 /opt/ros/kinetic/lib 这个库下明明有所需的lib***.so 文件, 总之不知道什么原因(可能电脑装的不知道什么软件有冲突)我设置的 LD_LIBRARY_PATH 并没起作用, ROS 访问不到 /opt/ros/kinetic/lib 这个库下的东西.

解决方法:

笨办法, 每次用 sudo apt-get install 安装 ros 有关的东西后, 都手动把这些Lib 文件复制到系统一定会访问的 /usr/lib:

sudo cp /opt/ros/kinetic/lib/lib* /usr/lib/

则可以找到对应库文件, 解决.

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当你遇到 "librcl_action.so: cannot open shared object file: No such file or directory" 这样的错误时,这通常意味着你在Linux系统中尝试加载名为 librcl_action.so 的动态链接库(shared library),但是找不到这个文件。动态链接库是运行时程序依赖的一部分,它们含可重用的代码和数据。 可能的原因有: 1. **库文件缺失**:这个库文件可能没有正确安装或被移除。你需要检查你的软件管理器(如apt、yum或conda)是否提供了这个库,并确保已安装。 2. **安装路径不正确**:如果你手动安装了这个库,确保它被安装到了系统可以找到的默认库目录(如`/usr/lib` 或 `./lib`),或者你的程序搜索路径(`LD_LIBRARY_PATH`)含了正确的路径。 3. **依赖关系未满足**:有些库可能依赖于其他库才能正常工作,确保所有的依赖都已经被安装并设置正确。 4. **软链接失效**:如果库文件是一个软链接,软链接的目标文件可能已经改变或者不存在。 为了解决这个问题,你可以采取以下步骤: - **检查安装**:运行 `ldd your_program`(替换为你的程序名)来查看哪些库是必需的,确认`librcl_action.so` 是否在其中。 - **重新安装**:使用管理器重新安装相关的ROS(Robot Operating System),因为`librcl_action.so` 通常是ROS的一部分。 - **设置环境变量**:如果需要,更新`LD_LIBRARY_PATH` 或者在运行程序时指定库文件路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值