digikam - 加载共享库时出错:libcudart.so.8.0

digikam - 加载共享库时出错:libcudart.so.8.0

当我启动 digikam 时,出现有关缺少库的错误cuda(发生这种情况是因为我cuda或多或少干净地删除了库以解决其他问题):

hippo@hippo-camp:~$ digikam<BR>
digikam: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory<BR>
hippo@hippo-camp:~$ which digikam<BR>
/usr/bin/digikam<BR>
hippo@hippo-camp:~$ lddtree /usr/bin/digikam<BR>
digikam => /usr/bin/digikam (interpreter => /lib64/ld-linux-x86-64.so.2)<BR>
-     libdigikamgui.so.5.6.0 => /usr/lib/digikam/libdigikamgui.so.5.6.0<BR>
--        libopencv_core.so.3.2 => /usr/local/lib/libopencv_core.so.3.2      
---             libcudart.so.8.0 => not found

如您所见,libcudart它是的依赖项opencv。我认为它与面部识别功能有关,而我并不真正需要它。

我该如何修复这个问题?有没有办法只安装库?

我尝试cuda从头开始重新安装,但它只给我版本 9 或 10。并且我无法从 NVIDIA 网站重新安装版本 8,因为我现在使用的是 18.04.3 LTS,而它仅支持版本 16.04。

我已尝试--purge重新安装digikam,但问题仍未解决。

sudo apt-get install libopencv-dev python3-opencv --reinstall

也没有解决。

编辑:该库不再存在于这台机器上,并且我在任何地方都没有cuda-8目录。

我该如何解决这种情况?

答案1

尝试在您的发行版中安装适当版本的 CUDA 并创建符号链接:

  1. 安装 CUDA。

  2. 定位libcudart.so

    sudo find / -type f -iname "libcudart.so*"
    
  3. 创建符号链接:

    sudo ln -s [located place] /usr/lib/x86_64-linux-gnu/libcudart.so.8.0 
    

    将第二步的输出放入[所在位置]

希望这可以帮助...

答案2

如果你还没有强制/错误移除cuda 包而您无法启动 digikam,那么这是一个错误!
我建议您在错误跟踪器中打开一个问题。

如果digikam不启动,因为它需要缺少某些软件包(digikam 本身或其依赖项)


如果你不想digikam使用这个依赖,你可以尝试自己编译它,禁用(如果可以的话!)需要的功能cuda

答案3

看起来无法在路径中找到库。您可以尝试根据安装的 cuda 库版本导出路径。

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH

相关内容