Saudade libudev.so.0

0

Eu não consigo descobrir como corrigir o "erro ao carregar bibliotecas compartilhadas: libudev.so.0: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório"

Estando em 12.04 (preciso) de 64 bits, tentei sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 . Mas não para awail.

    
por user2876213 19.10.2013 / 10:33

2 respostas

2

Eu encontrei este problema depois de atualizar de 12.04 para 14.04. Eu estava pensando na mesma direção que você, corrigindo o problema com um link. Talvez o local escolhido tenha sido errado?

Eu usei find para localizar libudev.so.1 : /lib/i386-linux-gnu/libudev.so.1

Resolvi meu problema com este link:

 ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

Ao usar find , você precisa ser cuidadoso; use o nome completo completo ou use curingas e coloque o nome entre aspas

    
por MTP 06.10.2014 / 20:12
0

A maneira que eu fiz isso é em uma aplicação por base de aplicação não em todo o sistema. Em um aplicativo por aplicativo, no diretório onde baixei o aplicativo, criei um link simbólico emitindo:

application_directory$ ln -s /lib/x86_64-linux-gnu/libudev.so.1 libudev.so.0

em seguida, verificar se está resolvendo a dependência com:

application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ldd ./<application>

e, finalmente, lançando o aplicativo:

application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./<application>

Prefiro essa abordagem porque ela não requer raiz, mas funciona apenas porque o aplicativo está instalado no diretório inicial.

Caso contrário, você precisa criar o symlink system wide, assim como você fez, mas você também precisa atualizar o cache ld após criar o symlink em / lib com sudo ldcache -v . Verifique a saída para a linha libudev.so.0.

    
por Li Lo 02.04.2014 / 15:48