wct such runinstaller lib instalar fichero existe directorio bad 20interpreter 20elf 20bad linux centos 64bit 32bit-64bit centos6

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