/lib/ld-linux.so.2: плохой интерпретатор ELF: нет такого файла или каталога

Когда я выполнил команду для установки приложения, возникла следующая ошибка: /lib/ld-linux.so.2: плохой интерпретатор ELF: нет такого файла или каталога

Я не знал, как решить эту проблему, чтобы найти решение, я искал решения в сети и нашел следующее решение:

yum install glibc.i686 or yum install glibc.i386

Но вот незадача, это вообще не сработало. Выдавало следующую ошибку:

Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
No package glibc.i686 available.
Error: Nothing to do

Я снова попытался решить эту проблему и получил несколько решений из сети;

Download glibc rpm packge for centos 6 and install them.

Я скачал следующие пакеты:

glibc-2.12-1.80.el6.i686.rpm
glibc-common-2.12-1.80.el6.i686.rpm
glibc-devel-2.12-1.80.el6.i686.rpm
glibc-headers-2.12-1.80.el6.i686.rpm
glibc-static-2.12-1.80.el6.i686.rpm
glibc-utils-2.12-1.80.el6.i686.rpm

И попытался установить с помощью следующей команды:

yum install glibc.i686
rpm -U glibc-2.12-1.80.el6.i686.rpm
rpm -ivh glibc-2.12-1.80.el6.i686.rpm

Ни один из них не работает. Получил следующее сообщение:

[root@demo tmp_glibc]# rpm -ivh glibc-2.12-1.80.el6.i686.rpm
    error: Failed dependencies:
    glibc-common = 2.12-1.80.el6 is needed by glibc-2.12-1.80.el6.i686
    libfreebl3.so is needed by glibc-2.12-1.80.el6.i686
    libfreebl3.so(NSSRAWHASH_3.12.3) is needed by glibc-2.12-1.80.el6.i686

Чтобы решить проблему с зависимостью, попытался установить «glibc-common-2.12-1.80.el6.i686.rpm», но снова не повезло и выдает ошибку:

[root@demo tmp_glibc]# rpm -ivh glibc-common-2.12-1.80.el6.i686.rpm
error: Failed dependencies:
    glibc = 2.12-1.80.el6 is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6 is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.0) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.1) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.1.1) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.1.3) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.10) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.2) is needed by glibc-common-2.12-1.80.el6.i686
    libc.so.6(GLIBC_2.3) is needed by glibc-common-2.12-1.80.el6.i686
    libcap.so.2 is needed by glibc-common-2.12-1.80.el6.i686
    libdl.so.2 is needed by glibc-common-2.12-1.80.el6.i686
    libdl.so.2(GLIBC_2.0) is needed by glibc-common-2.12-1.80.el6.i686
    libdl.so.2(GLIBC_2.1) is needed by glibc-common-2.12-1.80.el6.i686

Может ли кто-нибудь помочь мне понять, как это решить?

Подробнее: Операционная система: Centos 6.3 Список установленных пакетов Yum:

[root@demo tmp_glibc]# yum list installed glibc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Installed Packages
glibc.x86_64   

person vijay    schedule 25.12.2012    source источник
comment
Вокруг этих частей (Debian) мы просто получаем загадочные ошибки «Нет таких файлов или каталогов», ссылающиеся на существующие файлы, без какого-либо упоминания об интерпретаторах ELF в сообщении об ошибке.   -  person SamB    schedule 25.01.2014
comment
Этот вопрос лучше подходит для Unix и Linux, поскольку он больше касается конфигурации системы, чем разработки программного обеспечения.   -  person Charles Duffy    schedule 16.11.2018
comment
В Debian/Ubuntu 18.04: sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install libc6:i386   -  person Pablo Bianchi    schedule 27.12.2019


Ответы (6)


yum install glibc.i686

установить это.

person borayeris    schedule 12.08.2014
comment
Я не уверен, что они обычно связаны, но мне также пришлось выполнить команду: yum install libstdc++.i686, чтобы полностью разрешить мои отсутствующие зависимости. - person yellavon; 20.07.2016

Вы не упомянули, какую команду вы пытались запустить, которая вызвала сообщение об ошибке. Однако основная проблема заключается в том, что вы пытаетесь запустить и/или установить 32-разрядные (i686) пакеты в 64-разрядной (x86_64) системе, что не является хорошей идеей. Например, если вы пытаетесь запустить 32-разрядную версию Perl в 64-разрядной системе, результат будет примерно таким:

perl: /lib/ld-linux.so.2: плохой интерпретатор ELF: нет такого файла или каталога

Если вы по-прежнему хотите использовать команду rpm для установки 32-разрядных версий glibc и glibc-common в вашей системе, вам нужно знать, что вы должны установить оба пакета одновременно и одной командой, потому что они являются зависимостями друг друга. Команда для запуска в вашем случае будет:

rpm -Uvh glibc-2.12-1.80.el6.i686.rpm glibc-common-2.12-1.80.el6.i686.rpm

person ZaSter    schedule 03.01.2013

Как сказал @borayeris,

ням установить glibc.i686

Но если вы не можете найти пакет glibc.i686 или libstdc++, попробуйте -

sudo yum search glibc
sudo yum search libstd

а потом,

sudo yum установить {пакет}

person Vipul Sharma    schedule 20.06.2019
comment
Спасибо за расширение моего ответа. Я не знал поиска. - person borayeris; 29.08.2020

мне кажется, yum install glibc.i686 должен был сработать. Разве что в Питере не было root. У него установлен 64-битный glib, он устанавливает 32-битный пакет, для которого требуется 32-битный glib, который называется glib.i686 для процессоров Intel.

person Tauqir Chaudhry    schedule 03.06.2015

У меня была такая же проблема, следующие команды могут решить:

sudo yum install  glibc-common glibc  (mutual dependency)
sudo yum install  glibc.i686  (the missing version)
person teng_wenxuan    schedule 04.05.2015

Это установка, которую мне пришлось запустить, чтобы она работала на Fedora 22: -

glibc-2.21-7.fc22.i686

alsa-lib-1.0.29-1.fc22.i686

qt3-3.3.8b-64.fc22.i686

libusb-1:0.1.5-5.fc22.i686

person tomerz    schedule 24.09.2015