Às vezes, por um motivo ou outro, um programa não especificou ou incluiu todas as suas dependências corretamente, e a inicialização resulta em erros indicando dependências ausentes. Um erro típico é algo como:
cannot open shared object libudev.so.0
Vejo muitas respostas aconselhando as pessoas a contornar esses problemas criando links simbólicos em /usr/lib
ou em outros locais do sistema, e isso parece resolver o problema com frequência. Mas vejo um número igual de comentários aconselhando as pessoas que é uma má ideia. Aqui está uma resposta que é representativa.
Em que circunstâncias é aceitável vincular uma biblioteca a um programa para que ele funcione? Nunca? As vezes? E se você excluir o link simbólico após concluir a execução do programa?
Quais são as consequências de fazer isso?
fonte