Ter múltiplas versões de uma biblioteca no sistema não é um problema na maioria das distribuições do Linux: bibliotecas compartilhadas com diferentes /usr/lib . Além disso, os gerenciadores de pacotes podem ser instruídos a instalar várias dessas bibliotecas, especificando nomes corretos de pacotes:
apt-get install libjpeg7
apt-get install libjpeg8
Na realidade, você pode encontrar duas falhas com este sistema:
-
A maioria das distribuições fornece apenas uma versão de biblioteca por versão de distribuição para economizar espaço. Por exemplo, meu Debian Wheezy possui apenas
libjpeg8. Ainda será possível instalar uma versão de biblioteca específica (por exemplo,libjpeg7) das origens e ela coexistirá com outras versões sem problemas. Você pode até mesmo tentar instalar um pacote a partir de outra distribuição, mas cuidado, pois isso pode gerar muitas dependências. -
Às vezes, duas versões de bibliotecas com o mesmo soname (que são compatíveis) funcionam com alguns programas e não com outros. Essa é a principal razão para ter várias versões de distribuições, a propósito. A solução neste caso é manter bibliotecas incompatíveis fora de
/usr/libe torná-las acessíveis a um programa em particular via LD_LIBRARY_PATH ou chroot.