yum install 抱怨已经安装的依赖项

yum install complains about already installed dependency

我的意思是安装一个在我注册的存储库中显然不可用的包(参见 RedHat, which package provides hdf5.h)。

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

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


This 似乎在处理一个相关但不同的问题。


测试#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
...

它没有抱怨。

This 暗示了我答案。 另见 this