1

I have upgraded a number of computers from Ubuntu 21.10 to 22.04. After the update, I cannot run DigiKam on one of them. I tried to remove, purge and reinstall digikam, libgdal, and libblosc1 - without success.DigiKam stops before opening any window or even the splash screen.

$ digikam
digikam: symbol lookup error: /lib/libgdal.so.30: undefined symbol: blosc_cbuffer_validate
$ 

I tried to find that symbol (blosc_cbuffer_validate) in libgdal. The symbol is undefined in the library, indeed, but that is equally the case on my other computers where digikam starts normally.

$ nm -gD /lib/libgdal.so.30 | grep blosc_cbuffer
                 U blosc_cbuffer_validate 
$

I was wondering in what way the computer that cannot run DigiKam anymore is different from the others, and can only think of these two differences:

  • DigiKam was installed before the upgrade to Ubuntu 22.04
  • It has an AMD Ryzen CPU, whereas the others have Intel i7.

What may be the problem? How can I solve it? Short of a solution, how could I narrow it down?

1 Answer 1

3
+50

It is defined in libblosc1.

$ sudo apt install libblosc1

And verify with:

$ nm -gD /usr/lib/libblosc.so.1 | grep blosc_cbuffer
0000000000004580 T blosc_cbuffer_complib
0000000000004530 T blosc_cbuffer_metainfo
0000000000004440 T blosc_cbuffer_sizes
00000000000044b0 T blosc_cbuffer_validate
0000000000004570 T blosc_cbuffer_versions

UPDATE: Please provide the output of $ ldd digikam

UPDATE: It is loading the wrong file from /opt which can be fixed with:

$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libblosc.so.1 digikam

Or by changing the LD_LIBRARY_PATH or by removing the version in /opt.

11
  • I had libblosc1 already installed. Yes, the symbol exists, but that does not impress Digikam. Location is different from yours: /usr/lib/x86_64-linux-gnu/libblosc.so.1. Are you on Ubuntu 22.04 and x86_64?
    – bogl
    May 5, 2022 at 20:20
  • @bogl try: $ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libblosc.so.1 digikam and provide the output of $ ldd digikam please.
    – Bram
    May 5, 2022 at 20:39
  • It starts when pre-loading libblosc.so.1 !
    – bogl
    May 5, 2022 at 20:57
  • 1
    Thanks, will do if nobody comes up with a better solution or explanation rather than a workaround.
    – bogl
    May 5, 2022 at 21:58
  • 1
    Could you remove your request for more info on your answer (instead of using comments)? Could be useful more info about nd, ldd and the reasons behind your answer, to help others to find solutions to similar problems. @bogl dpkg --search /opt/lib/blosc/lib/libblosc.so.1 will search for deb packages using that file. May 11, 2022 at 20:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .