Вы работаете в 64-битной системе, и у вас не установлена поддержка 32-битной библиотеки.
Чтобы установить (базовую) поддержку 32-битных исполняемых файлов
(есливы не используете sudo в своей настройке, прочтите примечание ниже)
Большинство настольных Linux-систем в семействе Fedora / Red Hat:
pkcon install glibc.i686
Возможно, некоторые настольные системы Debian / Ubuntu?:
pkcon install ia32-libs
Fedora или новее Red Hat, CentOS:
sudo dnf install glibc.i686
Старше RHEL, CentOS:
sudo yum install glibc.i686
Еще старше RHEL, CentOS:
sudo yum install glibc.i386
Debian или 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-file
sudo apt-get install apt-file && apt-file update
, затем выполните поиск с помощью
apt-file find libSM.so.6
Запишите префиксный путь /usr/lib
в(обычный) случай;редко, некоторые библиотеки по-прежнему живут под /lib
по историческим причинам… В типичных 64-битных системах 32-битные библиотеки живут в /usr/lib
, а 64-битные библиотеки живут в /usr/lib64
.
(Debian /Ubuntu организует мультиархитектурные библиотеки по-разному.)
Установка пакетов для отсутствующих библиотек
Выше должно быть указано имя пакета, например:
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
в графическом интерфейсе или 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 г.)