186 votos

CentOS de 64 bits bad ELF intérprete

I acaba de instalar CentOS 6 de 64 bits versión, estoy tratando de instalar una aplicación de 32 bits en un equipo de 64 bits y tengo este error:

/lib/ld-linux.así.2: bad ELF intérprete: No existe el fichero o el directorio

Soy nuevo en linux. ¿Cómo puedo resolver esto?

361voto

BRPocock Puntos 7904

Estás en un sistema de 64 bits y no de 32-bit soporte de la biblioteca instalado.

   sudo yum install glibc.i686

o, si no está disponible en Centos 6,

  sudo yum install glibc.i386

debe agarrar la biblioteca que usted necesita.

Incidentially, esto implica que su base de datos de RPM está dañado, o que la aplicación que está tratando de ejecutar no se instalan mediante el gestor de paquetes. Si eres nuevo en Linux, es probable que desee evitar el uso de software de fuentes distintas de los "Yum," siempre que sea posible...

  • Si no hace uso de "sudo" en su conjunto, el tipo de

    su -

para adquirir el superusuario de la autoridad de la primera, sólo escriba

yum install glibc.i686

Actualizado: Ya que parece que esta respuesta es todavía visto, y de vez en cuando hasta-votaron a favor, tenga en cuenta que la solución anterior funciona en CentOS, Fedora o Red Hat derivados de los sistemas operativos; en un sistema Debian o Ubuntu deriva del sistema, sin embargo, sería en lugar de utilizar

 sudo apt-get install ia32-libs

... para proporcionar aproximadamente la misma funcionalidad.

Cualquier persona que necesite instalar glibc.i686 o glibc.i386 probablemente se ejecutarán en otras dependencias de la biblioteca, así. Para identificar un paquete que proporciona una arbitraria de la biblioteca, puede utilizar

 ldd /usr/bin/YOURAPPHERE

Mirar por encima de la de salida por falta de bibliotecas, y para cada uno, toma su nombre (por ejemplo, para libSM.so.6 => missing utilizaría libSM.so.6) y ejecutar:

 yum provides /usr/lib/libSM.so.6

Nota : el prefijo de la ruta de acceso /usr/lib en la (habitual) caso; rara vez, algunas bibliotecas aún viven bajo /lib , por razones históricas, ... En los típicos sistemas de 64-bit, 32-bit las bibliotecas viven en /usr/lib y 64 bits de las bibliotecas viven en /usr/lib64.

Esto debe darle un nombre de paquete, por ejemplo:

libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo        : fedora
Matched from:
Filename    : /usr/lib/libSM.so.6

Puede, a continuación, sudo yum install libSM.i686 (o especificar la versión totalmente: sudo yum install ibSM-1.2.0-2.fc15.i686) para agarrar el requisito de la biblioteca.

Algunas bibliotecas tienen una "época" designador antes de su nombre; esto puede ser omitido, es un artefacto de la forma en que el subyacente RPM bibliotecas de manejar números de versión, por ejemplo,

2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo        : fedora
Matched from:
Filename    : /usr/lib/libpng.so.3

Aquí, la 2: puede ser omitido; solo yum install libpng.i686 o yum install libpng-1.2.46-1.fc16.i686. (Vagamente implica algo así como: en algún momento, el número de versión de la libpng paquete de rodar hacia atrás, y la "época" tenía que ser incrementado para asegurarse de que la nueva versión sería considerado como "nuevos" durante las actualizaciones. O algo similar sucedió. Dos veces.)

18voto

Phil Edwards Puntos 101

Sólo encontré con el mismo problema en un recién instalado CentOS 6.4 equipo de 64 bits. Un único comando yum va a solucionar este plus el 99% de los problemas similares:

yum groupinstall "las bibliotecas de Compatibilidad"

Ya sea prefijo 'sudo' o ejecutarse como root, lo que funciona mejor para usted.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X