yum install 抱怨已安装的依赖项



我的意思是安装一个在我的注册存储库中显然不可用的软件包(请参阅 RedHat,该软件包提供 hdf5.h(。

所以我从rpmfind.net下载了hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm,并尝试从文件安装,得到了一些丢失文件的投诉(见下面的(1((。但是这些文件存在于我的系统中(请参阅下面的 (2((。

如何解决此问题以获得功能正常的系统?


这似乎涉及一个相关但不同的问题。


测试#1:

# yum install /shared/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm
Loaded plugins: product-id, rhnplugin, security, subscription-manager
This system is receiving updates from RHN Classic or RHN Satellite.
Setting up Install Process
Examining /shared/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
Marking /shared/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package hdf5-openmpi-devel.i686 0:1.8.5.patch1-10.el6 will be installed
--> Processing Dependency: hdf5-openmpi(x86-32) = 1.8.5.patch1-10.el6 for package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
--> Processing Dependency: libhdf5.so.6 for package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
--> Processing Dependency: libhdf5_fortran.so.6 for package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
--> Processing Dependency: libhdf5_hl.so.6 for package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
--> Processing Dependency: libhdf5hl_fortran.so.6 for package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686
--> Finished Dependency Resolution
Error: Package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686 (/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686)
           Requires: libhdf5.so.6
Error: Package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686 (/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686)
           Requires: hdf5-openmpi(x86-32) = 1.8.5.patch1-10.el6
Error: Package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686 (/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686)
           Requires: libhdf5_fortran.so.6
Error: Package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686 (/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686)
           Requires: libhdf5_hl.so.6
Error: Package: hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686 (/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686)
           Requires: libhdf5hl_fortran.so.6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

测试#2:

$ repoquery -l --installed hdf5
/usr/bin/gif2h5
/usr/bin/h52gif
/usr/bin/h5copy
/usr/bin/h5debug
/usr/bin/h5diff
/usr/bin/h5dump
/usr/bin/h5import
/usr/bin/h5jam
/usr/bin/h5ls
/usr/bin/h5mkgrp
/usr/bin/h5perf_serial
/usr/bin/h5repack
/usr/bin/h5repart
/usr/bin/h5stat
/usr/bin/h5unjam
/usr/lib64/libhdf5.so.6
/usr/lib64/libhdf5.so.6.0.4
/usr/lib64/libhdf5_cpp.so.6
/usr/lib64/libhdf5_cpp.so.6.0.4
/usr/lib64/libhdf5_fortran.so.6
/usr/lib64/libhdf5_fortran.so.6.0.4
/usr/lib64/libhdf5_hl.so.6
/usr/lib64/libhdf5_hl.so.6.0.4
/usr/lib64/libhdf5_hl_cpp.so.6
/usr/lib64/libhdf5_hl_cpp.so.6.0.4
/usr/lib64/libhdf5hl_fortran.so.6
/usr/lib64/libhdf5hl_fortran.so.6.0.4
/usr/share/doc/hdf5-1.8.5.patch1
/usr/share/doc/hdf5-1.8.5.patch1/COPYING
/usr/share/doc/hdf5-1.8.5.patch1/HISTORY-1_0-1_8_0_rc3.txt
/usr/share/doc/hdf5-1.8.5.patch1/HISTORY-1_8.txt
/usr/share/doc/hdf5-1.8.5.patch1/MANIFEST
/usr/share/doc/hdf5-1.8.5.patch1/README.txt
/usr/share/doc/hdf5-1.8.5.patch1/RELEASE.txt

安装的软件包是不同的版本和不同的体系结构。我学到了这一点

$ repoquery -q -f --installed */libhdf5.so*
hdf5-0:1.8.5.patch1-9.el6.x86_64

因此,我下载并安装了

# yum install hdf5-1.8.5.patch1-10.el6.x86_64.rpm
...
# yum install hdf5-openmpi-1.8.5.patch1-10.el6.x86_64.rpm hdf5-openmpi-devel-1.8.5.patch1-10.el6.x86_64.rpm
...

它没有抱怨。

这暗示了我的答案。另请参阅此内容。