我正在尝试octave
在 RHEL 6 工作站上安装该软件包。我已经安装了该epel-release 6.5
软件包以启用 EPEL 软件包存储库。当我尝试安装octave
using时yum
,返回以下错误:
Error: Package: 6:octave-3.4.2-2.el6.x86_64 (epel)
Requires: libfftw3.so.3()(64bit)
Error: Package: 6:octave-3.4.2-2.el6.x86_64 (epel)
Requires: libfftw3f.so.3()(64bit)
Error: Package: 6:octave-3.4.2-2.el6.x86_64 (epel)
Requires: libglpk.so.0()(64bit)
我尝试使用yum
搜索包libfftw3、libfftw3f、libglpk、fftw3、fftw3f 和 glpk。但是,它无法找到任何这些软件包。我想知道是否有人知道
- 我应该尝试按名称查找包吗fftw3,fftw3f,和糖蛋白?或者我应该搜索名字libfftw3、libfftw3f、libglpk?
- 这是否意味着我必须尝试在线查找所需的依赖包?是否有可靠的网站为 RHEL Workstation 6 提供这些 RPM 软件包?
答案1
此问题的正确解决方案是将“可选”通道 ( rhel-x86_64-workstation-optional-6
) 添加到该主机的 RHN 配置中。它有 fftw 包,提供您需要的依赖项。另一个答案(即使用 RepoForge)的问题在于,该存储库提供了 EPEL 和/或 RHEL 提供的重复包,并且可能会导致 yum 冲突。
答案2
yum
是一个灵活的包管理工具。如果你想知道哪个包提供了该文件,你可以这样libfftw3.so.3
查询。yum
yum whatprovides */libfftw3.so.3
如果提供该文件的包存在于您启用的存储库中,它将返回与此类似的信息。
fftw3-3.1.1-1.el5.rf.i386 : Fast Fourier Transform library
Repo : rpmforge
Matched from:
Filename : /usr/lib/libfftw3.so.3
在这种具体情况下,我相信您还需要仓库伪造(以前称为 RPMForge)存储库已在您的系统上启用。您可以通过安装 RepoForge rpm 包来启用存储库。
sudo rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
现在,当您执行 时yum install octave
,yum
将自动安装包和所需的依赖项。
编辑:正如所指出的,在同一系统上混合使用 RepoForge 和 EPEL 目录可能存在风险,除非您确实知道自己在做什么(启用/禁用存储库、保护软件包等)。关于功能的教训yum
仍然具有现实意义。