CentOS 64 бит плохой эльф интерпретатор
Я только что установил версию CentOS 6 64bit, я пытаюсь установить 32-разрядное приложение на 64-разрядной машине и получил эту ошибку:
/lib / ld-linux. so. 2: Bad ELF interpreter: нет такого файла или каталога
Я новичок в linux. Как мне решить эту проблему?
7 ответов:
вы находитесь на 64-разрядной системе, и не имеют 32-разрядной поддержки библиотеки установлены.
для установки (базовой) поддержки 32-разрядных исполняемых файлов
(если вы не используете sudo в настройках, читайте Примечание ниже)
Большинство настольных систем Linux в семействе Fedora / Red Hat:
pkcon install glibc.i686возможно, некоторые настольные системы Debian / Ubuntu?:
pkcon install ia32-libsFedora или новее Red Hat, CentOS:
sudo dnf install glibc.i686старше RHEL, CentOS:
sudo yum install glibc.i686еще более старый РЕЛ, CentOS:
sudo yum install glibc.i386Debian или Ubuntu:
sudo apt-get install ia32-libsдолжен захватить вас (первый, основной) библиотека вам нужно.
как только вы это сделаете, вам, вероятно, понадобится поддержка libs
любой, кто нуждается в установке
glibc.i686илиglibc.i386вероятно, столкнется и с другими зависимостями библиотеки. Для идентификации пакета, предоставляющего произвольную библиотеку, можно использоватьldd /usr/bin/YOURAPPHEREесли вы не уверен, что это в
/usr/binвы также можете вернуться наldd $(which YOURAPPNAME)вывод будет выглядеть так:
linux-gate.so.1 => (0xf7760000) libpthread.so.0 => /lib/libpthread.so.0 (0xf773e000) libSM.so.6 => not foundпроверьте наличие отсутствующих библиотек (например
libSM.so.6в приведенном выше выводе), и для каждого из них вам нужно найти пакет, который его предоставляет.команды для поиска пакета в семействе дистрибутивов
Fedora / Red Hat Enterprise / CentOS:
dnf provides /usr/lib/libSM.so.6или, на старом RHEL / CentOS:
yum provides /usr/lib/libSM.so.6или, на Debian / Ubuntu:
во-первых, установите и загрузите базу данных для
apt-filesudo apt-get install apt-file && apt-file updateзатем поиск с
apt-file find libSM.so.6обратите внимание на префикс
/usr/libв (обычном) случае; редко, некоторые библиотеки все еще живут под/libпо историческим причинам ... в типичных 64-битных системах 32-битные библиотеки живут в/usr/libи 64-битные библиотеки проживают в/usr/lib64.(Дебиан/Убунту организовать мульти-архитектура библиотек иначе.)
установка пакетов для отсутствующих библиотек
выше должно дать вам имя пакета, например:
libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library Repo : fedora Matched from: Filename : /usr/lib/libSM.so.6в этом примере имя пакета
libSMи имя 32-битной версии пакета -libSM.i686.затем вы можете установить пакет, чтобы захватить необходимую библиотеку с помощью
pkconв GUI, илиsudo dnf/yum/apt-getпо мере необходимости.... Напримерpkcon install libSM.i686. При необходимости, вы можете указать полная версия. Напримерsudo dnf install ibSM-1.2.0-2.fc15.i686.некоторые библиотеки будут иметь обозначение" эпоха " перед их именем; это можно опустить (любопытные могут прочитать Примечания ниже).
Примечания
предупреждение
кстати, проблема, с которой вы столкнулись, либо подразумевает, что ваш RPM (ОТВ. DPkg / DSelect) база данных повреждена, или что приложение, которое вы пытаетесь запустить, не было установлено через Диспетчер пакетов. Если вы новичок в Linux, вы, вероятно, хотите избегайте использования программного обеспечения из источников, отличных от вашего менеджера пакетов, когда это возможно...
если вы не используете "sudo" в своей настройке
тип
su -cкаждый раз, когда вы видите
sudo, например,su -c dnf install glibc.i686об целеуказатель эпохи в названиях библиотека
обозначение "эпоха" перед именем является артефактом того, как базовые библиотеки RPM обрабатывают номера версий; например
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здесь
2:можно опустить; простоpkcon install libpng.i686илиsudo dnf install libpng-1.2.46-1.fc16.i686. (Это смутно подразумевает что-то вроде: в какой-то момент номер версииlibpngпакет откатился назад, и" эпоха "должна была быть увеличена, чтобы убедиться, что более новая версия будет считаться" более новой " во время обновлений. Или случилось что-то подобное. Дважды.)
Обновлено чтобы уточнить и более полно охватить различные параметры диспетчера пакетов (март 2016 г.)
только что столкнулся с той же проблемой на недавно установленной 64-разрядной машине CentOS 6.4. Одна команда yum исправит это плюс 99% подобных проблем:
yum groupinstall "библиотеки совместимости"
либо префикс это с 'sudo' или запустить как root, в зависимости от того, что лучше всего подходит для вас.
В общем, когда вы получаете такую ошибку, просто сделайте
yum provides ld-linux.so.2затем вы увидите что-то вроде:
glibc-2.20-5.fc21.i686 : The GNU libc libraries Repo : fedora Matched from: Provides : ld-linux.so.2а затем вы просто запустите следующее, Как написал BRPocock (в случае, если вам интересно, какая логика была...):
yum install glibc.i686
попробовать
$ yum provides ld-linux.so.2 $ yum update $ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6надеюсь, что это очищает.
просто хотел добавить комментарий в BRPocock, но у меня нет достаточных привилегий.
таким образом, мой вклад был для всех, кто пытался установить IBM Integration Toolkit из пакета шины интеграции IBM.
при попытке запустить команду " Installation Manager "из папки /Integration_Toolkit/IM_Linux (файл для запуска - "install") вы получаете сообщение об ошибке, показанное в этом сообщении.
дальнейшие инструкции по устранению этой проблемы вы найдете в этом веб-сайте IBM страница: https://www-304.ibm.com/support/docview.wss?uid=swg21459143
надеюсь, что это помогает для тех, кто пытается установить это.
судо ням установить fontconfig программа FreeType libfreetype.так.6 libfontconfig.так.1 с libstdc++.так.6
Я бы добавил для Debian вам нужен хотя бы один компилятор в системе (согласно 32-разрядные библиотеки Debian Stretch и Jessie).
Я установил
apt-get install -y gcc-multilibдля запуска 32-битного исполняемого файла в моем контейнере docker на основе debian: jessie.
Comments