TL: DR: Use uma versão (ou compilação) do programa que suporte a versão da biblioteca instalada, se possível.
Como bodhi.zazen diz , é É difícil saber exatamente o que está acontecendo sem os comandos exatos específicos que você executou e a saída. No entanto, foo.so.0
e foo.so.1
não devem ser compatíveis.
Para fazer um programa compilado para usar a versão principal 0 de um trabalho de biblioteca com a versão principal 1, é recomendável reconstruir (recompilar e vincular novamente) o programa. Além disso, a interface que uma biblioteca fornece aos programas pode mudar, e geralmente muda, nas principais versões, portanto, isso às vezes é prático.
Normalmente, é melhor instalar uma versão mais recente do programa que suporte a versão da biblioteca que você deseja usar, se possível.
Como alternativa, se você puder instalar a versão antiga da biblioteca ao lado da nova, isso também poderá fazer com que o programa funcione. (Se você tem certeza de que nenhum outro programa usa a versão atualmente instalada da biblioteca, você pode desinstalá-lo antes de instalar o antigo. Se ele for fornecido por um pacote do Ubuntu, você poderá fazer isso desinstalando esse pacote. As principais versões de uma biblioteca muitas vezes suportam sendo instaladas ao mesmo tempo. p>
Nos casos em que não é possível instalar a versão da biblioteca que o programa precisa e você está disposto a aceitar sérias instabilidades e comportamentos imprevisíveis do programa, ocasionalmente é possível fazê-lo trabalhar com a nova biblioteca fazendo uma cópia, nomeando-a como a biblioteca antiga e editando as informações da versão dentro dela com um editor hexadecimal. Já fiz isso antes, mas nunca confiei seriamente em software que foi feito para funcionar dessa maneira, e você também não deveria.
Esta resposta é deliberadamente geral. Sem mais detalhes sobre o o que programa precisa da biblioteca, como o programa é (ou pode ser) instalado, e quais versões da biblioteca ele suporta, provavelmente não é possível dar conselhos mais detalhados.