Come risolvere “/lib/x86_64-linux-gnu/libc.so.6: versione` GLIBC_2.14 'non trovata ”?


29

Come correggere questo errore:

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

Piattaforma:

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

Risposte:


30

Ciò significa che il programma è stato compilato rispetto alla versione 2.14 di glibc e richiede che tale versione sia in esecuzione, ma sul tuo sistema è installata una versione precedente. Dovrai ricompilare il programma con la versione di glibc presente sul tuo sistema o installare una versione più recente di glibc (il pacchetto "libc6" in Debian).

Debian ha glibc 2.16 nel repository "sperimentale", ma ricompilare il programma è l'opzione più sicura. Glibc è la libreria da cui tutto dipende, quindi l'aggiornamento può avere implicazioni di vasta portata. Sebbene probabilmente non ci sia nulla di sbagliato nel pacchetto glibc 2.16 di Debian, il fatto che sia nel repository sperimentale significa che non ha ricevuto così tanti test.


4
Questa è una risposta così interessante e ho capito ogni frase :). Come ricompilarlo (l'app è sviluppatore tidesdk) sotto la mia macchina, qualche riferimento? Comunque accetterò questa risposta, bello.
xliiv,

l'aggiornamento a Debian Jessie ha aiutato qui.
cweiske,

5
Questo significa che hai bisogno esattamente della versione 2.14 di glibc o almeno della versione 2.14?
Philippe

20

Ho pubblicato la mia soluzione qui , ripubblicarla per riferimento.

Nella mia situazione, l'errore appare quando provo a eseguire un'applicazione (compilata su Ubuntu 12.04 LTS) usando GLIBC_2.14 su Debian Wheezy (che installa glibc 2.13 di default).

Uso un modo complicato per eseguirlo e ottengo il risultato corretto:

  1. Scarica libc6 e libc6-dev da Ubuntu 12.04 LTS

  2. Esegui il comando dpkg per installarli in una directory (/ home / user / fakeroot / ad esempio):

    $ 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. Esegui il comando con LD_LIBRARY_PATH specificato:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. La mia applicazione utilizza solo memcpy () da GLIBC_2.14 e funziona.

Non so se funzionerà con successo per altre applicazioni. Lo auguro utile.


0
apt-get update && apt-get -reinstall install vesta-nginx vesta-php

Ciò dovrebbe risolverlo senza rompere il sistema operativo.  


2
Perché? Potresti spiegare per favore? In che modo vesta(pannello di controllo web hosting) è correlato alla domanda?
iX3,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.