百胜说依赖“libltdl.so.3”是必需的,但它已经安装了?

Nat*_*ate 3 yum libraries centos package-management

我花了几个小时试图安装 ImageMagick。我终于卸载了旧版本,但正在努力安装最新版本。当我运行以下命令时:

yum --nogpgcheck localinstall ImageMagick-6.9.0-0.i386.rpm
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error: Package: ImageMagick-6.9.0-0.i386 (/ImageMagick-6.9.0-0.i386)
           Requires: libltdl.so.3
Run Code Online (Sandbox Code Playgroud)

我尝试libltdl.so.3安装

我运行了以下命令:

repoquery -q -f */libltdl.so*
Run Code Online (Sandbox Code Playgroud)

其中产生:

libtool-ltdl-0:2.2.6-15.5.el6.i686
yaf-0:1.3.2-1.el6.rf.i686
libtool-ltdl-devel-0:2.2.6-15.5.el6.i686
Run Code Online (Sandbox Code Playgroud)

所以我试着一一安装:

yum install yaf-0:1.3.2-1.el6.rf.i686
yum install libtool-ltdl
yum install libtool-ltdl-devel-0:2.2.6-15.5.el6.i686
Run Code Online (Sandbox Code Playgroud)

但每一个都失败了:

Package ... installed and latest version
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我阅读尝试:

yum clean all
yum update
Run Code Online (Sandbox Code Playgroud)

但这并没有解决问题。我正在运行 CENTOS 6.6 i686。

slm*_*slm 6

根据输出,您将 i686 和 i386 包混合在一起。您需要注意您的系统硬件和已安装的其他软件包是否具有适当的架构(i386、i686、x86_64 等)。

因此,在您的情况下yum,正确地抱怨您尚未安装 i386 版本的依赖项。

Error: Package: ImageMagick-6.9.0-0.i386 (/ImageMagick-6.9.0-0.i386)
           Requires: libltdl.so.3
Run Code Online (Sandbox Code Playgroud)

所以我要么尝试获取 i686 版本的 ImageMagick 的 RPM,要么确保安装 i386 版本的依赖项。

现在考虑到repoquery仅显示 i686 软件包的事实,我推测您在系统上安装/配置的任何存储库中都没有可用的 i386 软件包。所以我可能只下载 ImageMagick 的 i686 变体,因为它可能是最简单的前进路径。