某天在使用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。。