CentOS 64位错误的ELF解释器

CentOS 64位错误的ELF解释器,第1张

CentOS 64位错误的ELF解释器

您使用的是64位系统,并且没有安装32位库支持。

安装(基准)对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

Debian或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 /红帽企业版/ 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 libraryRepo        : fedoraMatched from:Filename    : /usr/lib/libSM.so.6

在这个例子中,包的名称

libSM
的包的32位版本的名称是
libSM.i686

然后,您可以

pkcon
在GUI中使用该软件包以获取必需的库,也可以
sudo dnf/yum/apt-get
根据需要安装…。例如
pkconinstall libSM.i686
。如有必要,您可以完全指定版本。例如
sudo dnf installibSM-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 filesRepo        : fedoraMatched from:Filename    : /usr/lib/libpng.so.3

在此,

2:
可以省略;公正
pkcon install libpng.i686
sudo dnf installlibpng-1.2.46-1.fc16.i686
。(它含糊地暗示着这样的含义:在某个时刻,
libpng
软件包的版本号向后滚动,并且必须增加“
epoch”以确保更新期间新版本将被视为“较新”。或者类似的情况发生了两次)。 )


更新 以更清楚地说明和涵盖各种程序包管理器选项(2016年3月)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5024646.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-15
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存