Recentemente, instalei um software que meu grupo precisa para um projeto de pesquisa a partir de setembro próximo. Acontece que o software possui um bug de falha conhecido quando usado com o glibc 2.12.1. Meu chefe perguntou se podemos atualizar o glibc no servidor que deveria executá-lo. Cue meu silêncio cético ....
Em algum momento, percebi que mexer com glibc era uma idéia tão boa quanto mexer com um puma faminto; no entanto, não consegui determinar a fonte dessa crença. Então, se eu continuar com isso:
- Estou fazendo algo flagrantemente estúpido (por exemplo, não solucionarei meu problema, bloqueará meu servidor ou iniciaremos um apocalipse zumbi)?
- O que pode dar errado?
- O que provavelmente dará errado?
- Como evito as respostas para 2 e 3?
--prefix=$HOME
e apontáLD_LIBRARY_PATH
-lo para ele e ver se funciona. Como usuário não root, você não pode estragar todo o sistema, não importa o quanto você estrague tudo. Se isso não funciona, alterá-lo para--prefix=/usr/local/bleeding-edge-glibc
e documentarLD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/lib
como um requisito para o projeto de pesquisaglibc
bug que você tem medo e que tipo de software você está usando. Você pode corrigir o seu software (supondo que tenha o código fonte) ou configurar o sistema para contorná-lo.Respostas:
Geralmente, é possível compilar uma libc atualizada e ter um software usando uma biblioteca diferente para todos os outros.
O maior ponto problemático entre as versões libc é o armazenamento local de threads, IIRC. Se você está ultrapassando esse marco, todas as apostas estão desativadas.
Dito tudo isso - eu recomendo fortemente que você simplesmente atualize a distribuição para algo moderno. Fazer atualizações graduais provavelmente levará ao tipo de dor que faz você perseguir sua cauda por meses.
fonte
Você pode consultar a tabela de compatibilidade para determinar as versões compatíveis com binários.
Normalmente, não é um problema atualizar o glibc para uma versão mais recente, mas você deve construí-lo com os mesmos sinalizadores de configuração usados na sua distribuição (consulte o arquivo de especificação no pacote SRPM apropriado).
fonte