So aktualisieren Sie glibc auf 2.14 in CentOS 6.5

47

Ich möchte Android NDK auf meinem CentOS 6.5-Computer installieren. Aber als ich das Programm ausgeführt habe, heißt es, dass es glibc 2.14 benötigt, um ausgeführt werden zu können. Auf meinem CentOS 6.5 ist nur Glibc 2.12 installiert. Also habe ich versucht, glibc zu aktualisieren:

$ sudo yum update glibc

Aber danach habe ich festgestellt, dass die glibc-Version immer noch 2.12 und nicht 2.14 ist.

$ ldd --version
ldd (GNU libc) 2.12

Ich denke, dass glibc 2.14 möglicherweise nicht auf CentOS-Repositories verfügbar ist. Wie kann ich es auf CentOS 6.5 auf glibc 2.14 aktualisieren?

Tonga
quelle
2
Ein Upgrade auf CentOS7 mit GLibC 2.14 ist einfacher als ein Upgrade von GLibC von 2.12 auf 2.14. Siehe Skype Call Recorder
eyoung100
@ eyoung100 Ich benötige weiterhin CentOS 6.5 anstatt 7. Gibt es eine einfache Möglichkeit, Glibc auf 2.14 zu aktualisieren? Vielen Dank!
Tonga
3
Nein, sehen Sie eine meiner anderen Antworten, warum .
eyoung100
Aufgrund Ihrer Antworten scheint die beste Lösung entweder ein Upgrade auf CentOS 7 oder die Verwendung einer älteren Version von NDK zu sein, für die glibc 2.12 erforderlich ist. Danke für deine Kommentare.
Tonga
1
Sie können auch ein CentOS7-Chroot installieren, um das NDK
auszuführen

Antworten:

68

Sie können nicht aktualisiert werden glibcauf Centos 6sicher. Sie können es jedoch problemlos 2.14nebeneinander installieren 2.12und dann zum Kompilieren von Projekten usw. verwenden.

mkdir ~/glibc_install; cd ~/glibc_install 

wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

tar zxvf glibc-2.14.tar.gz

cd glibc-2.14

mkdir build

cd build

../configure --prefix=/opt/glibc-2.14

make -j4

sudo make install

export LD_LIBRARY_PATH="/opt/glibc-2.14/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
UnitasBrooks
quelle
3
Erwähnen möchten wir, dass der Erstellungsprozess bei langsamen AWS 2,5 Stunden dauert. Vielleicht nützlich für jemanden die nächste Info: Anleitung oben behebt das psycopg2Problem ImportError: /lib/libc.so.6: version 'GLIBC_2.14'(ich verwende Centos 6.5 und PostgreSQL v 9.6)
TitanFighter
1
Geniale Antwort! Ich bin dieser Antwort genau gefolgt und es hat wie ein Zauber funktioniert. Vielen Dank
thonnor
2
Kann auch für spätere Versionen verwendet werden; Ändern Sie einfach "2.14" in "2.23" oder eine andere Version, die Sie benötigen. Dies wird durch Folgendes hervorgehoben: /usr/local/lib/somlelib.so: undefined reference to 'somefunction@GLIBC_2.23'(Die letzten Ziffern sind die Version). Um die Kompilierung zu beschleunigen, verwenden Sie make -j8, wenn Sie 8 Threads auf Ihrer CPU usw. haben. Meins ist in wenigen Minuten fertig.
Roel Van de Paar
Ich habe relocation error: libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time referencenach der Exportphase (wenn ich einen Befehl ausprobiere) noch Zeit. Kann jemand helfen? @Roel
belka
1
Danke Mann, hat wie erwartet weitergearbeitet CENTOS 6.10. Ich habe diese Zeile sudo make installdurch ersetzt, make installals ich root war, weil mein Benutzer nicht in der sudoers-Datei war
Accountant م
7

Um glibc 2.14 parallel zu installieren, fügen Sie das Präfix configure hinzu:

tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make -j4
make install

Nach diesem Vorgang können Sie 2.14 erstellen, müssen dem Compiler jedoch mitteilen, wo er nach glibc suchen soll.

Im Folgenden finden Sie die Möglichkeiten, wie Sie die Glibc für Ihr Programm verfügbar machen können.

  1. LD_LIBRARY_PATH = / opt / glibc-2.14 / lib

    exportiere LD_LIBRARY_PATH.

    Die Bibliothek wird während Ihrer aktuellen Anmeldesitzung angezeigt.

  2. Sie können Ihre neue glibc-Version dauerhaft so verlinken, aber lesen Sie bitte die folgende WARNUNG:

    ln -sf /opt/glibc-2.14/glibc-2.14.so /lib/libc.so.6.

Da libc.so.6 nur ein symbolischer Link ist. Wenn Sie den obigen Befehl ausführen, verweist der Link auf die neue glibc-Bibliothek. Dieser Schritt wird jedoch nicht empfohlen, da es unter Linux viele Programme gibt, die von älteren Versionen abhängen und nicht mehr funktionieren.

mikel
quelle
+1 für die Details der Offenlegung der Bibliothek
Buchhalter م
2

Gemeinsame alternative Technik. Parallele Installation von GLIBC 2.14 (im Verzeichnis / opt) Dann steht es den Programmen zur Verfügung, die es benötigen, ohne Ihr Kernbetriebssystem zu beschädigen.

BrokenSyntax
quelle
7
Wie würdest du das machen? Laden Sie eine rpm und?
rncrtr