
Recentemente instalei um software que meu grupo precisa para um projeto de pesquisa que terá início em setembro próximo. Acontece que o software possui um bug de travamento 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, coloquei na cabeça que mexer com a glibc era uma ideia tão boa quanto mexer com um puma faminto; no entanto, não consegui determinar a origem dessa crença. Então, se eu prosseguir com isso:
- Estou fazendo algo flagrantemente estúpido (por exemplo, não vou resolver meu problema, vou bloquear meu servidor ou vou iniciar um apocalipse zumbi)?
- O que pode dar errado?
- O que é provável que dê errado?
- Como evito as respostas de 2 e 3?
Responder1
Muitas vezes é possível compilar uma libc mais recente e fazer com que um software use uma biblioteca diferente de todos os outros.
O maior problema entre as versões libc é o armazenamento local de thread, IIRC. Se você está ultrapassando esse marco, todas as apostas estão canceladas.
Dito tudo isso – eu recomendo fortemente que você simplesmente atualize a distro para algo moderno. Fazer atualizações graduais provavelmente causará o tipo de dor que faz você perseguir o rabo por meses.
Responder2
Você pode consultar otabela de compatibilidadepara determinar versões compatíveis com binários.
Normalmente não é um problema atualizar a glibc para uma versão mais recente, mas você deve construí-la com as mesmas flags de configuração usadas em sua distribuição (veja o arquivo de especificações no pacote SRPM apropriado).