Cannot launch self-built application [krita] due to issues with .so versions that were never installed

asked 2016-01-16 10:13:25 -0500

p2r gravatar image

Hello, I'm trying to build and deploy krita (and possibly contribute later). It build fines against an up-to-date fedora. However for some reasons, the program cannot start because it tries to load the wrong version of the shared objects.

% krita
krita: error while loading shared libraries: libexiv2.so.13: cannot open shared object file: No such file or directory

But it was compiled against version 14 of libexiv !

% dnf repoquery --installed --list exiv2-libs 
/usr/lib64/libexiv2.so.14
/usr/lib64/libexiv2.so.14.0.0

And the ".so" file used by the linker correctly points to version 14!

% ls -l /usr/lib64/libexiv2.so
lrwxrwxrwx. 1 root root 18 Jun 24  2015 /usr/lib64/libexiv2.so -> libexiv2.so.14.0.0

So why could a program compiled with a .so at version x tries to launch that .so at version y? And how can I fix this? Thank you for your help !

I believe it's a fedora issue, because launching the program with the wrong version is an issue with the kernel trying to load nonsense where there was no dual/wrong version to link against in the first place. So I put it here on this forum.

edit retag flag offensive close merge delete

Comments

First, no, its not related to kernel at all. And your kirta is certainly linked against libexiv2.so.13! It is certainly somewhere on your system. Give me the output of following commands:

ldd /path/to/krita
file /path/to/krita
locate libexiv2.so.13
hedayat gravatar imagehedayat ( 2016-01-18 04:28:05 -0500 )edit