Yum 没有提供任何库

Yum 没有提供任何库

我正在尝试解决几个包(我们的代码)的库依赖问题。我们有一个包,假设是包 A,它依赖于包 B 提供的两个库。

软件包 A 的 Cmake 文件经过了一些重大修改,因此我不能排除它们是导致问题的原因,但软件包 B 没有变化。软件包 B 提供了软件包 A 所需的两个 .so 文件。软件包 A 使用CPACK_RPM_PACKAGE_REQUIRES将包 B 指定为依赖项。

这两个软件包都是通过网络设备上的单独 yum 存储库提供的。但是当我尝试安装软件包 A 时,出现以下错误:

Error:
  Problem: conflicting requests
    - nothing provides libABC.so()(64bit) needed by package_a
    - nothing provides libXYZ.so()(64bit) needed by package_b

包 B 的构建没有任何问题,并且我已确认包 B 具有所需的库。

我查看了 CMake 文件,发现库作为依赖项包含的方式并没有什么不同。我以为可能是 repo 元数据,但使用 yum info 确认它们可用。当我使用rpm -qf在库本身上,它将正确的包标识为提供程序。

对于可能缺少什么,您有什么建议吗?如果需要,我可以尝试提供更多信息,但我希望这些信息是显而易见的。

编辑:仔细查看包 B 的 RPM 后,似乎包 A “需要” 这些 SO 文件,但包 B 并未 “提供” 这些文件,只是安装它们。然而,这在过去并不是问题,因此 CMakeLists 文件在包 A 中设置此依赖项的方式一定发生了变化。

相关内容