such - runinstaller lib ld linux so 2 bad elf interpreter no existe el fichero o el directorio
CentOS 64 bit bad ELF intérprete (7)
Acabo de instalar la versión de 64 bits de CentOS 6, estoy intentando instalar una aplicación de 32 bits en una máquina de 64 bits y obtuve este error:
/lib/ld-linux.so.2: intérprete de ELF incorrecto: no existe tal archivo o directorio
Soy nuevo en Linux. ¿Cómo resuelvo esto?
Añadiría para Debian que necesita al menos un compilador en el sistema (según las bibliotecas Debian Stretch y Jessie de 32 bits ).
Instalé apt-get install -y gcc-multilib
para ejecutar el archivo ejecutable de 32 bits en el contenedor de mi docker basado en debian: jessie.
Acabo de encontrar el mismo problema en una máquina recién instalada CentOS 6.4 de 64 bits. Un único comando yum arreglará esto más el 99% de problemas similares:
yum groupinstall "Bibliotecas de compatibilidad"
O prefija esto con ''sudo'' o ejecútelo como root, lo que sea mejor para usted.
En general, cuando recibes un error como este, solo hazlo
yum provides ld-linux.so.2
entonces verás algo como:
glibc-2.20-5.fc21.i686 : The GNU libc libraries
Repo : fedora
Matched from:
Provides : ld-linux.so.2
y luego ejecutas lo siguiente como BRPocock escribió (en caso de que te estés preguntando cuál era la lógica ...):
yum install glibc.i686
Está en un sistema de 64 bits y no tiene instalado el soporte de biblioteca de 32 bits.
Para instalar (línea de base) soporte para ejecutables de 32 bits
La mayoría de los sistemas de escritorio de Linux en la familia Fedora / Red Hat:
pkcon install glibc.i686
¿Posiblemente algunos sistemas Debian / Ubuntu de escritorio ?:
pkcon install ia32-libs
Fedora o el más reciente Red Hat, CentOS:
sudo dnf install glibc.i686
RHEL antiguo, CentOS:
sudo yum install glibc.i686
Aún más viejo RHEL, CentOS:
sudo yum install glibc.i386
Debian o Ubuntu:
sudo apt-get install ia32-libs
debería atraparle la (primera, principal) biblioteca que necesita.
Advertencia
Incidentalmente, esto implica que su base de datos RPM (o DPkg / DSelect) está dañada o que la aplicación que intenta ejecutar no se instaló a través del administrador de paquetes. Si es nuevo en Linux, probablemente quiera evitar el uso de software de otras fuentes que no sean su administrador de paquetes, siempre que sea posible ...
Si no usa "sudo" en su configuración
Tipo
su -c
cada vez que veas sudo
, por ejemplo,
su -c dnf install glibc.i686
Una vez que tienes eso, es probable que necesites libs de soporte
Cualquiera que necesite instalar glibc.i686
o glibc.i386
probablemente se encuentre también con otras dependencias de la biblioteca. Para identificar un paquete que proporciona una biblioteca arbitraria, puede usar
ldd /usr/bin/YOURAPPHERE
si no está seguro de que esté en /usr/bin
, también puede recurrir a
ldd $(which YOURAPPNAME)
Examine el resultado de las bibliotecas que faltan y, para cada una, tome su nombre (por ejemplo, para libSM.so.6 => missing
, debería usar libSM.so.6
) y ejecute:
Fedora / Red Hat Enterprise / CentOS:
dnf provides /usr/lib/libSM.so.6
o, en RHEL / CentOS más antiguos:
yum provides /usr/lib/libSM.so.6
o, en Debian / Ubuntu:
primero, instale y descargue la base de datos para apt-file
sudo apt-get install apt-file && apt-file update
luego busca con
apt-file find libSM.so.6
Tenga en cuenta la ruta del prefijo /usr/lib
en el caso (habitual); raramente, algunas bibliotecas aún viven bajo /lib
por razones históricas ... En los sistemas típicos de 64 bits, las bibliotecas de 32 bits viven en /usr/lib
y las bibliotecas de 64 bits se encuentran en /usr/lib64
.
(Debian / Ubuntu organiza bibliotecas multi-arquitectura de manera diferente).
Esto debería 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
A continuación, puede pkcon install libSM.i686
(o especificar la versión completa: sudo dnf install ibSM-1.2.0-2.fc15.i686
) para obtener la biblioteca requerida. (Usando pkcon
en una GUI, o sudo dnf/yum/apt-get
según corresponda ...)
Algunas bibliotecas tendrán un designador "época" antes de su nombre; esto se puede omitir, es un artefacto de la forma en que las bibliotecas RPM subyacentes manejan los números de versión; p.ej
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í, el 2:
se puede omitir; solo pkcon install libpng.i686
o sudo dnf install libpng-1.2.46-1.fc16.i686
. (Vagamente implica algo como: en algún punto, el número de versión del paquete libpng
retrocedió, y la "época" tuvo que incrementarse para asegurarse de que la versión más nueva se considerara "más nueva" durante las actualizaciones. O sucedió algo similar. Dos veces.)
Actualizado para aclarar y cubrir las diversas opciones del administrador de paquetes de forma más completa (marzo de 2016)
Solo quería agregar un comentario en BRPocock, pero no tengo suficientes privilegios.
Así que mi contribución fue para todos los que intentan instalar IBM Integration Toolkit del paquete Integration Bus de IBM.
Cuando intenta ejecutar el comando "Installation Manager" desde la carpeta / Integration_Toolkit / IM_Linux (el archivo para ejecutar es "instalar") obtiene el error que se muestra en esta publicación.
Puede encontrar más instrucciones para solucionar este problema en esta página web de IBM: https://www-304.ibm.com/support/docview.wss?uid=swg21459143
Espero que esto ayude a cualquiera que intente instalar eso.
Tratar
$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
Espero que esto se aclare.
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc ++. so.6