You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedHat系统安装hdf5-openmpi-devel依赖问题求助

问题:本地安装hdf5-openmpi-devel RPM时的依赖报错问题

我需要安装能提供hdf5.h的软件包,但该包在RedHat官方仓库里找不到。于是从rpmfind.net下载了hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm,尝试用yum本地安装时,系统提示缺少多个依赖文件,但这些文件明明已经存在于系统中,不知道该怎么解决?


测试1:yum安装时的报错输出

# 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:系统已安装的hdf5包文件列表

$ 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

解决方案

核心原因:架构不匹配

你下载的是**32位(i686)**的hdf5-openmpi-devel包,但你的系统是64位的——从测试2里的文件路径/usr/lib64/就能看出来(64位系统的库文件默认存在lib64目录,32位则在lib目录)。yum会严格检查依赖包的架构一致性,所以32位的devel包会去找32位的libhdf5.so.6等库,但你的系统里只有64位版本,因此报错。

具体解决步骤

  1. 下载对应架构的RPM包
    去rpmfind.net搜索并下载x86_64架构的两个包:

    • hdf5-openmpi-1.8.5.patch1-10.el6.x86_64.rpm(主包,满足hdf5-openmpi(x86-64)=1.8.5.patch1-10.el6的依赖)
    • hdf5-openmpi-devel-1.8.5.patch1-10.el6.x86_64.rpm(对应的64位开发包)
  2. 按顺序安装包
    先安装主包,再安装开发包,用yum自动处理依赖:

    yum install /shared/hdf5-openmpi-1.8.5.patch1-10.el6.x86_64.rpm
    yum install /shared/hdf5-openmpi-devel-1.8.5.patch1-10.el6.x86_64.rpm
    
  3. 应急方案(不推荐)
    如果实在找不到对应架构的包,可强制忽略依赖安装,但可能导致库冲突或编译问题:

    rpm -ivh --nodeps /shared/hdf5-openmpi-devel-1.8.5.patch1-10.el6.i686.rpm
    

    这种情况下,后续编译程序时需要手动指定32位库的路径,风险较高,优先推荐架构匹配的包。


内容的提问来源于stack exchange,提问作者sancho.s ReinstateMonicaCellio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:28:16