rospack: error while loading shared libraries: librospack.so: cannot open shared object file:

某天在使用ros的时候发现打开rosrun rqt_tf_tree按tab出现:

rospack: error while loading shared libraries: librospack.so: cannot open shared object file: No such file or directory

这时候正好是在配置CUDA,所以发现了相应的原因:是cuda在.bashrc中的两行配置导致的!!!!!!!害得我连夜重装了一遍系统加环境。。。

罪魁祸首:

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

同样的问题还有在使用rosbag record的时候:

rosbag record -o 1 /cmd_vel
No handlers could be found for logger "rosout"
/opt/ros/melodic/lib/rosbag/record: error while loading shared libraries: librosbag.so: cannot open shared object file: No such file or directory

也是这俩路径引用导致的环境搜索lib时没有搜索ros包下,而是直接搜索CUDA的lib了!

解决方法有两种:

1.就是将ros和cuda的lib两者合并成一句(建议)

export LD_LIBRARY_PATH=/opt/ros/melodic/lib:/usr/local/cuda/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

2.注释掉,简单粗暴,后果就是不能使用cuda。。

上一篇:按钮(图标+文字/进度)大小屏幕适配


下一篇:巧用 CSS 实现动态线条 Loading 动画