erro ao carregar bibliotecas compartilhadas, arquivo muito curto

15

De um dos meus clientes, recebi um aplicativo. Quando tento executá-lo, recebi o seguinte erro

error while loading shared libraries: ./libvtkWidgets.so.5.4: file too short

Na estrutura do meu projeto, vejo o seguinte:

-rwxrwxrwx  1 tomasz tomasz       20 2011-02-01 10:44 libvtkWidgets.so
-rwxrwxrwx  1 tomasz tomasz       22 2011-02-01 10:44 libvtkWidgets.so.5.4
-rwxrwxrwx  1 tomasz tomasz  2147103 2011-02-01 10:44 libvtkWidgets.so.5.4.2

Minha biblioteca compartilhada libvtkWidgets está corrompida? Como resolver esse erro?

tommyk
fonte
A execução sudo ldconfigfornece o problema exato ("O arquivo *** está vazio, não foi verificado." Ou "*** não é um link simbólico") #
1140 Yan Foto

Respostas:

19

Provavelmente ocorreu um erro ao copiar / extrair as bibliotecas. libvtkWidgets.so e libvtkWidgets.so.5.4 não devem ser arquivos, mas links simbólicos. Tente o seguinte:

rm libvtkWidgets.so.5.4 libvtkWidgets.so
ln -s libvtkWidgets.so.5.4.2 libvtkWidgets.so.5.4
ln -s libvtkWidgets.so.5.4 libvtkWidgets.so

De qualquer forma, verifique se o software que você está instalando está disponível no centro de software. Se não estiver disponível e se a correção acima não funcionar, será necessário entrar em contato com o fornecedor do aplicativo.

João Pinto
fonte
1
Muito obrigado. Na verdade, cometi um erro ao extrair arquivos no Windows e ao copiar arquivos extraídos para minha máquina virtual Ubuntu. É por isso que todos os links simbólicos desapareceram.
tommyk
Estou criando minha própria extensão C ++ e, mesmo depois de torná-la um link simbólico, o problema persistiu. Existe um cache que eu não conheço?
noɥʇʎԀʎzɐɹƆ