¿Cómo arreglar "/lib/x86_64-linux-gnu/libc.so.6: versión 'GLIBC_2.14' no encontrada"?

29

Cómo arreglar este error:

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

Plataforma:

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

Respuestas:

30

Eso significa que el programa se compiló con la versión 2.14 de glibc y requiere que se ejecute esa versión, pero su sistema tiene instalada una versión anterior. Deberá volver a compilar el programa con la versión de glibc que está en su sistema o instalar una versión más nueva de glibc (el paquete "libc6" en Debian).

Debian tiene glibc 2.16 en el repositorio "experimental", pero recompilar el programa es la opción más segura. Glibc es la biblioteca de la que todo depende, por lo que actualizarla puede tener implicaciones de largo alcance. Aunque probablemente no haya nada de malo con el paquete glibc 2.16 de Debian, el hecho de que esté en el repositorio experimental significa que no ha recibido tantas pruebas.

Wyzard --Deja de dañar a Mónica--
fuente
44
Esta es una respuesta genial y entendí cada oración :). ¿Cómo recompilarlo (la aplicación es desarrollador tidesdk) en mi máquina, alguna referencia? Sin embargo, voy a aceptar esta respuesta, bien.
xliiv
actualizar a debian jessie ayudó aquí.
cweiske
55
¿Esto significa que necesita exactamente la versión 2.14 de glibc o al menos la versión 2.14?
Philippe
20

He publicado mi solución aquí , vuelva a publicarla como referencia.

En mi situación, el error aparece cuando intento ejecutar una aplicación (compilada en Ubuntu 12.04 LTS) usando GLIBC_2.14 en Debian Wheezy (que instala glibc 2.13 por defecto).

Utilizo una forma complicada de ejecutarlo y obtengo el resultado correcto:

  1. Descargue libc6 y libc6-dev de Ubuntu 12.04 LTS

  2. Ejecute el comando dpkg para instalarlos en un directorio (/ home / user / fakeroot / por ejemplo):

    $ 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. Ejecute su comando con LD_LIBRARY_PATH especificado:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Mi aplicación solo usa memcpy () de GLIBC_2.14, y funciona.

No sé si funcionará con éxito para otras aplicaciones. Lo deseo útil.

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

Eso debería solucionarlo sin romper el sistema operativo.  

Ajibola L'Don Jibson Olayanju
fuente
2
¿Por qué? ¿Podría explicar por favor? ¿Cómo se relaciona vesta(panel de control de alojamiento web) con la pregunta?
iX3