导入错误: libkfusion.so: 无法打开共享对象文件: 没有此类文件或目录



我一直在尝试从一篇使用 Kinect Fusion 库的论文中重现一个框架。

当我运行测试脚本时,我收到错误:

(darnn) weizhang@long:~/DA-RNN$ sudo ./experiments/scripts/test_kinect_fusion.sh 0
+ set -e
+ export PYTHONUNBUFFERED=True
+ PYTHONUNBUFFERED=True
+ export CUDA_VISIBLE_DEVICES=0
+ CUDA_VISIBLE_DEVICES=0
++ date +%Y-%m-%d_%H-%M-%S
+ LOG=experiments/logs/test_kinect_fusion.txt.2018-06-17_12-44-13
+ exec
++ tee -a experiments/logs/test_kinect_fusion.txt.2018-06-17_12-44-13
+ echo Logging output to experiments/logs/test_kinect_fusion.txt.2018-06-17_12-44-13
Logging output to experiments/logs/test_kinect_fusion.txt.2018-06-17_12-44-13
+ ./tools/test_kinect_fusion.py --gpu 0 --imdb rgbd_scene_trainval --cfg experiments/cfgs/rgbd_scene.yml --rig data/RGBDScene/camera.json
Traceback (most recent call last):
File "./tools/test_kinect_fusion.py", line 15, in <module>
from kinect_fusion import kfusion
ImportError: libkfusion.so: cannot open shared object file: No such file or directory

它只是说它找不到确实存在的共享对象。它也包括在内,可以通过echo $LD_LIBRARY_PATH检查为:

/home/weizhang/Pangolin/build/src:/usr/local/cuda-8.0/lib64::/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/home/weizhang/DA-RNN/lib/kinect_fusion/build

这可能是一个过于明确的问题,但我很好奇为什么会发生这种情况以及可能解决它的方法。

感谢任何评论!

运行sudo时,在本地环境中设置的任何环境变量都将丢失。 例如,如果我的本地环境包括:

LD_LIBRARY_PATH=/some/path

然后像我自己一样运行env,我看到:

$ env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/some/path
$

但是使用sudo变量是不可见的,因为sudo会创建一个新的、经过净化的环境:

$ sudo env | grep LD_LIBRARY_PATH
$

最适合您的解决方案可能是在./experiments/scripts/test_kinect_fusion.sh脚本中设置LD_LIBRARY_PATH

相关内容

  • 没有找到相关文章

最新更新