当前位置: 代码迷 >> 综合 >> error while loading shared libraries: libmoveit_profiler.so.1.0.2: cannot open shared object file:
  详细解决方案

error while loading shared libraries: libmoveit_profiler.so.1.0.2: cannot open shared object file:

热度:65   发布时间:2024-01-31 01:30:00.0
  • 启动moveit配置助手时出错:

/opt/ros/melodic/lib/moveit_setup_assistant/moveit_setup_assistant: error while loading shared libraries: libmoveit_rdf_loader.so.1.0.4: cannot open shared object file: No such file or directory

REQUIRED process [moveit_setup_assistant-2] has died!
process has died [pid 8190, exit code 127, cmd /opt/ros/melodic/lib/moveit_setup_assistant/moveit_setup_assistant __name:=moveit_setup_assistant __log:=/home/houguowei/.ros/log/33aecc24-cb48-11ea-8ca6-b025aa31a881/moveit_setup_assistant-2.log].
log file: /home/houguowei/.ros/log/33aecc24-cb48-11ea-8ca6-b025aa31a881/moveit_setup_assistant-2*.log
Initiating shutdown!

  • 问题原因:

原因一般有二, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.本问题的原因是安装的libmoveit_rdf_loader.so.版本是1.0.4,需要的版本是1.0.2。

 

  • 解决办法:

1.如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

sudo cat /etc/ld.so.conf
sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf"
sudo ldconfig

2.两个库文件之间做一个链接:

sudo ln -s  /opt/ros/melodic/lib/libmoveit_rdf_loader.so.1.0.2  /opt/ros/melodic/lib/libmoveit_rdf_loader.so.1.0.4

 

完成,解决问题。

 

 

  相关解决方案