我刚刚安装了CentOS 6 64位版本,我试图在64位机器上安装一个32位的应用程序,得到了这个错误。
/lib/ld-linux.so.2: bad ELF interpreter:没有这样的文件或目录
我是linux的新手。 我怎样才能解决这个问题?
你使用的是64位系统,并且没有安装32位库支持。
(如果你在设置中不使用sudo,请阅读下面的说明)
Fedora/Red Hat系列中的大多数桌面Linux系统。
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
蝶变或Ubuntu。
sudo apt-get install ia32-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
。
然后你可以使用GUI中的pkcon',或
sudo dnf/yum/apt-get'来安装软件包,以获取所需的库,如....例如 pkcon install libSM.i686
。如果需要,你可以完全指定版本。例如 sudo dnf install ibSM-1.2.0-2.fc15.i686
.
一些库的名称前会有一个 "epoch "的代号;这可以省略(好奇的人可以阅读下面的注释)。
很有可能,你所面临的问题意味着你的RPM(DPkg/DSelect)数据库已经损坏,或者你试图运行的应用程序没有通过软件包管理器安装。如果你是Linux的新手,你可能希望尽可能避免使用来自软件包管理器以外的软件。
su -c
每当你看到 "sudo "时,例如。
su -c dnf install glibc.i686
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
包的版本号向后滚动,"年代 "必须被增加,以确保更新时较新的版本被认为是 "较新 "的。或者类似的事情发生了。两次)。
Updated以澄清并更全面地涵盖各种软件包管理器选项(2016年3月)
只是想在BRPocock中添加一个评论,但我没有足够的特权。
所以我的贡献是为每个试图从IBM'的集成总线捆绑中安装IBM集成工具包的人提供的。
当你试图从/Integration_Toolkit/IM_Linux文件夹中运行"安装管理器"命令时(要运行的文件是"安装"),你会得到这个帖子中显示的错误。
要解决这个问题的进一步说明,你可以在IBM的网页上找到。 https://www-304.ibm.com/support/docview.wss?uid=swg21459143
希望这对试图安装的人有帮助。