J'ai installé GCC 7.1 sur mon ordinateur et essayé d'utiliser g++
, mais cela n'a pas fonctionné, en disant ceci:Utilisation de la version inférieure de GLIBC: la version `GLIBC_2.11` est introuvable (requise par g ++)
g++: /lib64/libc.so.6: version `GLIBC_2.11` not found (required by g++)
alors je l'ai fait ces:
$ strings /lib64/lib.so.6 | grep GLIB
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_PRIVATE
$ strings `which g++` | grep GLIB
GLIBC_2.3
GLIBC_2.11
GLIBC_2.2.5
Deux choses peuvent être notées ici:
- La chaîne
GLIBC_2.11
n'est pas commun à ces deux sorties. Toutefois,GLIBC_2.3
est commun aux deux.
Questions:
1. Que font exactement ces chaînes signifie? Pourquoi y a-t-il plus d'une chaîne dans les deux? Que nous disent-ils?
2. Ma conjecture est que l'absence de GLIBC_2.11
dans libc
explique pourquoi g++
ne fonctionne pas, comme g++
exige (comme l'erreur elle-même dit). Cependant, je suis confus qu'est-ce que la présence de GLIBC_2.3
dans les deux signifie réellement? Cela signifie-t-il que g++
peut être chargé d'utiliser ceci au lieu de GLIBC_2.11
? Si oui, comment exactement? Quelle est la commande?
Le gcc que vous avez installé a été construit pour un système qui fournit une glibc plus récente que ce qui est sur votre système, essayer de le faire fonctionner sur votre système n'est pas une façon amusante de passer une bonne fin de semaine. de trouver un paquet qui fonctionne sur votre système, ou construire gcc .7.1 à partir de la source sur votre système. – nos