Evince não é capaz de executar (diz faltando bibliotecas compartilhadas)

3

Eu já procurei esta outra resposta mas isso não resolveu o meu problema. Estou no Xubuntu 16.04 e hoje quando comecei o evince, recebi este erro:

evince: error while loading shared libraries: libevdocument3.so.4: cannot open shared object file: No such file or directory

Mas o ldd diz claramente que o arquivo está presente:

ldd /usr/bin/evince|grep evdoc
libevdocument3.so.4 => /usr/lib/x86_64-linux-gnu/libevdocument3.so.4 (0x00007fcb32610000)

A saída de depuração é a seguinte:

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

O estranho é que ontem o Evince estava funcionando bem e hoje isso aconteceu de repente! Eu nunca instalei / desinstalei nenhum pacote durante esse período. A única coisa que fiz foi executar alguns aplicativos como netbeans e android-studio (do meu diretório pessoal). Qual poderia ser o problema?

editar

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$ 
    
por Prahlad Yeri 18.07.2016 / 22:33

1 resposta

2

Sua biblioteca compartilhada está onde deveria estar, mas talvez ela não tenha sido reconhecida e armazenada em cache corretamente.

O comando ldconfig verifica todos os diretórios que estão configurados para conter essas bibliotecas compartilhadas dinâmicas e atualiza o cache da biblioteca e os links com o que encontrou.

Basta executá-lo assim:

sudo ldconfig

Ele deve ser concluído em um segundo ou menos e corrigirá problemas relacionados à falta de links de bibliotecas compartilhadas e caches de bibliotecas desatualizados.

    
por Byte Commander 19.07.2016 / 09:06