Ich habe GCC 7.1 auf meinem Rechner installiert und versucht, g++
darauf zu verwenden, aber es hat nicht funktioniert, das heißt:Arbeiten mit niedrigeren Version von GLIBC: Version `GLIBC_2.11` nicht gefunden (erforderlich durch g ++)
g++: /lib64/libc.so.6: version `GLIBC_2.11` not found (required by g++)
So dann habe ich diese:
$ 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
Zwei Dinge können hier zu beachten:
- Der String
GLIBC_2.11
ist für beide Ausgänge nicht üblich. - Jedoch ist
GLIBC_2.3
beiden gemeinsam. Fragen
:
1. Was genau bedeuten diese Strings? Warum gibt es mehr als eine Saite in beiden? Was sagen sie uns?
2. Meine Vermutung ist, dass das Fehlen von GLIBC_2.11
in libc
erklärt, warum g++
nicht funktioniert, wie g++
es erfordert (wie der Fehler sagt selbst). Allerdings bin ich verwirrt, was bedeutet die Anwesenheit von GLIBC_2.3
in beiden eigentlich? Bedeutet das, dass g++
angewiesen werden kann, dieses anstelle von zu verwenden? Wenn ja, wie genau? Was ist der Befehl?
Das von Ihnen installierte gcc wurde für ein System gebaut, das einen neueren glibc als das, was auf Ihrem System ist, bietet. Es ist keine spaßige Art, den besseren Teil eines Wochenendes zu verbringen - Sie sind viel besser Sie können ein Paket finden, das auf Ihrem System funktioniert, oder gcc .7.1 von der Quelle auf Ihrem System erstellen. – nos