I've already looked this other answer but that didn't resolve my issue. I'm on Xubuntu 16.04 and today when I started evince, I got this error:
evince: error while loading shared libraries: libevdocument3.so.4: cannot open shared object file: No such file or directory
But ldd clearly says that the file is present:
ldd /usr/bin/evince|grep evdoc
libevdocument3.so.4 => /usr/lib/x86_64-linux-gnu/libevdocument3.so.4 (0x00007fcb32610000)
The debug output is as follows:
export LD_DEBUG=all
evince
16254:
16254: WARNING: Unsupported flag value(s) of 0x8000000 in DT_FLAGS_1.
16254:
16254: file=libevdocument3.so.4 [0]; needed by evince [0]
16254: find library=libevdocument3.so.4 [0]; searching
16254: search cache=/etc/ld.so.cache
16254: search path=/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/tls/x86_64:/lib/tls:/lib/x86_64:/lib:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/x86_64:/usr/lib (system search path)
16254: trying file=/lib/x86_64-linux-gnu/tls/x86_64/libevdocument3.so.4
16254: trying file=/lib/x86_64-linux-gnu/tls/libevdocument3.so.4
16254: trying file=/lib/x86_64-linux-gnu/x86_64/libevdocument3.so.4
16254: trying file=/lib/x86_64-linux-gnu/libevdocument3.so.4
16254: trying file=/usr/lib/x86_64-linux-gnu/tls/x86_64/libevdocument3.so.4
16254: trying file=/usr/lib/x86_64-linux-gnu/tls/libevdocument3.so.4
16254: trying file=/usr/lib/x86_64-linux-gnu/x86_64/libevdocument3.so.4
16254: trying file=/usr/lib/x86_64-linux-gnu/libevdocument3.so.4
16254: trying file=/lib/tls/x86_64/libevdocument3.so.4
16254: trying file=/lib/tls/libevdocument3.so.4
16254: trying file=/lib/x86_64/libevdocument3.so.4
16254: trying file=/lib/libevdocument3.so.4
16254: trying file=/usr/lib/tls/x86_64/libevdocument3.so.4
16254: trying file=/usr/lib/tls/libevdocument3.so.4
16254: trying file=/usr/lib/x86_64/libevdocument3.so.4
16254: trying file=/usr/lib/libevdocument3.so.4
16254:
evince: error while loading shared libraries: libevdocument3.so.4: cannot open shared object file: No such file or directory
The strange thing is that yesterday Evince was working fine and today this suddenly happened! I've never installed/uninstalled any packages during this time. Only thing I've done is run a few apps like netbeans and android-studio (from my home directory). What could be the issue?
edit
prahlad@parrot:/data$ ls -ld / /usr /usr/lib /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/libevdocument3.so.4
drwxr-xr-x 25 root root 4096 Jun 13 13:26 /
drwxr-xr-x 10 root root 4096 Oct 21 2015 /usr
drwxr-xr-x 139 root root 20480 Jul 6 22:50 /usr/lib
drwxr-xr-x 102 root root 90112 Jul 11 13:50 /usr/lib/x86_64-linux-gnu/
lrwxrwxrwx 1 root root 23 Mar 9 03:23 /usr/lib/x86_64-linux-gnu/libevdocument3.so.4 -> libevdocument3.so.4.0.0
prahlad@parrot:/data$ file /usr/lib/x86_64-linux-gnu/libevdocument3.so.4
/usr/lib/x86_64-linux-gnu/libevdocument3.so.4: symbolic link to libevdocument3.so.4.0.0
prahlad@parrot:/data$ uname -a
Linux parrot 4.4.0-24-generic #43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
/data$
ls -ld / /usr /usr/lib /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/libevdocument3.so.4; file /usr/lib/x86_64-linux-gnu/libevdocument3.so.4;uname -a
sudo ldconfig
change anything? That rescans the dynamic library directories and updates their cache.