J'ai récemment installé un logiciel dont mon groupe a besoin pour un projet de recherche débutant en septembre prochain. Il s'avère que le logiciel a un bug de plantage connu lorsqu'il est utilisé avec la glibc 2.12.1. Mon patron m'a demandé si nous pouvions mettre à niveau la glibc sur le serveur censé l'exécuter. Cue mon silence sceptique ....
À un moment donné, je me suis rendu compte que jouer avec la glibc était à peu près une aussi bonne idée que de jouer avec un puma affamé; cependant, je n'ai pas pu déterminer la source de cette croyance. Donc, si je continue avec ceci:
- Suis-je en train de faire quelque chose de stupidement flagrant (par exemple, je ne résoudrai pas mon problème, je brique mon serveur ou je déclenche une apocalypse zombie)?
- Qu'est-ce qui peut mal tourner?
- Qu'est-ce qui risque de mal tourner?
- Comment éviter les réponses aux points 2 et 3?
--prefix=$HOME
ensuite pointer votreLD_LIBRARY_PATH
et voir si cela fonctionne. En tant qu'utilisateur non root, vous ne pouvez pas visser tout le système, peu importe à quel point vous vous trompez. Si cela fonctionne, modifiez-le--prefix=/usr/local/bleeding-edge-glibc
et documentez-leLD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/lib
comme exigence pour le projet de rechercheglibc
bug dont vous avez peur et quel type de logiciel utilisez-vous. Vous pouvez patcher votre logiciel (en supposant que vous avez son code source), ou configurer autrement votre système, pour le contourner.Réponses:
Il est souvent possible de compiler une libc plus récente et de faire en sorte qu'un logiciel utilise une bibliothèque différente de tout le monde.
Le plus gros problème entre les versions de libc est le stockage local des threads, IIRC. Si vous passez ce cap, tous les paris sont annulés.
Cela dit, je vous recommande fortement de simplement mettre à niveau la distribution vers quelque chose de moderne. Faire des améliorations au coup par coup est susceptible d'entraîner le genre de douleur qui vous fait courir après votre queue pendant des mois.
la source
Vous pouvez vous référer au tableau de compatibilité pour déterminer les versions compatibles binaires.
Habituellement, la mise à niveau de la glibc vers une version plus récente n'est pas un problème, mais vous devez la construire avec les mêmes indicateurs de configuration que ceux utilisés dans votre distribution (voir le fichier de spécification dans le package SRPM approprié).
la source