2

When I launch digikam I get an error about a cuda missing library (this is happening since I removed cuda more or less cleanly to solve something else):

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

as you can see libcudart is a dependency of opencv. I think it is linked to the face recognition feature which I don't really need.

How can I fix this? is there a way to install just the lib?

I have tried to reinstall cuda from scratch but it only gives me version 9 or 10. And I cannot reinstall version 8 from NVIDIA site because I am now in 18.04.3 LTS and it is only supported on version 16.04.

I have tried --purge and reinstall digikam but it does not fix the problem.

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

did not solve it neither.

EDIT: the library is not anymore on this machine and I don't have a cuda-8 directory anywhere.

How can I fix this situation?

damadam
  • 2,873
wotter
  • 188

3 Answers3

1

If you have not forced/bad-removed cuda package and you cannot start digikam, then this is a bug!
And I suggest you to open an issue in the bug tracker.

If digikam does not start because it requires that lib, some package (digikam itself or any of its dependencies) is missing lib.


If you want digikam without that dependency, you can try to compile it by yourself disabling (if it can be!) the feature which requires cuda.

1

It looks like it is not able to find library in path. You can try exporting path according to cuda libarary version installed.

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
KK Patel
  • 19,753
1

Try installing appropriate version of CUDA in your distribution and create symbolic link:

  1. Install CUDA.

  2. Locate libcudart.so:

    sudo find / -type f -iname "libcudart.so*"
    
  3. Create symbolic link:

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

    Put in [located place] the output of second step

Hope this helps...

Olimjon
  • 7,522