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
It is defined in libblosc1.
$ sudo apt install libblosc1And 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_versionsUPDATE: 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 digikamOr by changing the LD_LIBRARY_PATH or by removing the version in /opt.