
No trabalho, temos uma biblioteca fornecida pelo fornecedor que nos foi entregue na forma de cabeçalhos e .so
arquivos C++. Nosso ambiente de produção é o CentOS 6 há muito tempo, mas em breve poderemos atualizar para o CentOS 7. Arquivos RPM foram criados tanto para a biblioteca quanto para nosso programa C++ que utiliza a biblioteca.
Devo também mencionar que as dependências da biblioteca do fornecedor estão vinculadas dinamicamente.
A instalação em novas instâncias do CentOS 6 funciona bem por meio do yum
, mas no CentOS 7 as coisas vão muito mal. yum
reclama de muitos pacotes que não consegue encontrar, com python2.6 (ou seja libpython2.6.so
) como exemplo. Posso encontrar RPMs para todas essas dependências ausentes, mas em muitos casos não consigo instalá-los de qualquer maneira, pois o yum diz que não há "nada a fazer" nos casos em que isso significaria um downgrade.
Suponho que minha pergunta seja dupla. É possível, como no caso do Python, instalar outra versão do Python via yum
, sem que ela se torne a versão do sistema, para que o vinculador possa encontrá-la para esta biblioteca antiga do fornecedor?
Criar manualmente todos os .so
arquivos parece uma batalha perdida, pois há ummuitode dependências ausentes, como libpng12
, quando o CentOS 7 possui libpng15
.
O que um administrador de sistema experiente faria neste caso? Ou este é apenas o caso em que fazer este programa antigo rodar no CentOS 7 está indo contra moinhos de vento?