Wie behebt man “/lib/x86_64-linux-gnu/libc.so.6: Version` GLIBC_2.14 'nicht gefunden ”?

29

So beheben Sie diesen Fehler:

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found

Plattform:

Linux alef 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux
xliiv
quelle

Antworten:

30

Das bedeutet, dass das Programm mit der glibc-Version 2.14 kompiliert wurde und diese Version ausgeführt werden muss, auf Ihrem System jedoch eine ältere Version installiert ist. Sie müssen entweder das Programm mit der Version von glibc neu kompilieren, die sich auf Ihrem System befindet, oder eine neuere Version von glibc installieren (das "libc6" -Paket in Debian).

Debian hat glibc 2.16 im "experimentellen" Repository, aber das Neukompilieren des Programms ist die sicherere Option. Glibc ist die Bibliothek, von der alles abhängt, sodass ein Upgrade weitreichende Auswirkungen haben kann. Obwohl wahrscheinlich nichts an Debians glibc 2.16-Paket auszusetzen ist, bedeutet die Tatsache, dass es sich im experimentellen Repository befindet, dass es nicht so viele Tests erhalten hat.

Wyzard - Stop Harming Monica--
quelle
4
Das ist so eine coole Antwort und ich habe jeden Satz verstanden :). Wie kann ich es unter meinem Rechner neu kompilieren (die App ist Tidesdk Developer), irgendwelche Referenzen? Aber ich werde diese Antwort akzeptieren, nett.
xliiv
ein upgrade auf debian jessie hat hier geholfen.
Cweiske
5
Benötigen Sie also genau Version 2.14 von glibc oder mindestens Version 2.14?
Philippe
20

Ich habe meine Lösung hier veröffentlicht und als Referenz erneut veröffentlicht.

In meiner Situation tritt der Fehler auf, wenn ich versuche, eine Anwendung (kompiliert unter Ubuntu 12.04 LTS) mit GLIBC_2.14 unter Debian Wheezy (die standardmäßig glibc 2.13 installiert) auszuführen.

Ich benutze einen kniffligen Weg, um es auszuführen und das richtige Ergebnis zu erhalten:

  1. Herunterladen libc6 und libc6-dev von Ubuntu 12.04 LTS

  2. Führen Sie den Befehl dpkg aus, um sie in einem Verzeichnis zu installieren (z. B. / home / user / fakeroot /):

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. Führen Sie Ihren Befehl mit dem angegebenen LD_LIBRARY_PATH aus:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Meine Anwendung verwendet nur memcpy () von GLIBC_2.14 und es funktioniert.

Ich weiß nicht, ob es für andere Anwendungen erfolgreich funktioniert. Wünsche es hilfreich.

Bin S
quelle
0
apt-get update && apt-get -reinstall install vesta-nginx vesta-php

Das sollte das Problem beheben, ohne das Betriebssystem zu beschädigen.  

Ajibola L'Don Jibson Olayanju
quelle
2
Warum? Könntest du bitte erklären? In welcher vestaBeziehung steht (Webhosting-Steuerungsfeld) zur Frage?
iX3