Em teoria, um arquivo .so criado em uma versão do RHEL pode ser usado em qualquer outra versão do RHEL?

0

Eu fiz a compilação de um pacote fonte e instalei em um caminho personalizado, binários e algumas bibliotecas de objetos compartilhados foram criadas e a ferramenta está funcionando.

A mesma instalação pode ser usada em outra versão do RHEL (pelo menos, as bibliotecas podem ser usadas em outra versão do RHEL na teoria?)

Tudo que eu preciso é que pelo menos as bibliotecas funcionem.

Uma pequena explicação seria mais útil.

    
por GP92 02.12.2015 / 08:56

1 resposta

0

Concordando com o comentário de @siblynx , a glibc fornece uma gama de compatibilidade. A maneira como faz isso (no intervalo de liberação para a versão 6) é usar o controle de versão de símbolos: à medida que cada símbolo (função ou dados) é introduzido, há uma versão correspondente ao símbolo, para que existe uma maneira de vincular a versão correta automaticamente.

Se o comportamento (principalmente o binário interface ) for alterado no futuro, seu aplicativo será carregado usando a interface antiga com versão. Indo para trás, a versão pode não existir e o aplicativo não pôde ser carregado com êxito.

Em um nível mais grosseiro, a maioria das bibliotecas compartilhadas no RHEL também é versionada, mas a glibc suporta o intervalo de compatibilidade através de versões de símbolos dentro de uma única biblioteca compartilhada.

Leitura adicional:

por 02.12.2015 / 10:09