【问题标题】:How does yum check for required library on install (dependency problem)yum 如何在安装时检查所需的库(依赖问题)
【发布时间】:2018-12-17 13:02:29
【问题描述】:

我在使用 rpmbuild 构建 RPM 时遇到了问题。

我使用 SRPM 构建了自定义版本的 PHP,但是当我尝试安装此 RPM 时,yum 在编译的服务器以外的其他服务器上出现以下错误:

--> Finished Dependency Resolution
Error: Package: php70-cli-7.0.33-1.el6.x86_64 (local)
           Requires: libiconv.so.2()(64bit)
Error: Package: php70-common-7.0.33-1.el6.x86_64 (local)
           Requires: libiconv.so.2()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

构建服务器:

[root@server rpmbuild]# file /usr/local/lib/libiconv.so.2
/usr/local/lib/libiconv.so.2: symbolic link to `libiconv.so.2.6.0'

安装服务器:

[root@otherserver ~]# file /usr/local/lib/libiconv.so.2
/usr/local/lib/libiconv.so.2: symbolic link to `libiconv.so.2.6.0'

谁能向我解释为什么 yum 找不到它?还是把我推向正确的方向?

谢谢

【问题讨论】:

    标签: rpm yum


    【解决方案1】:

    如果它不在 RPM 数据库中,就rpm 和yum 而言,它不会发生。由于/usr/local/lib/libiconv.so.2 在/usr/local 和Fedora explicitly says not to put things there 中,我假设它不是由RPM 安装的。

    一种检查方法是rpm -q --whatprovides /usr/local/lib/libiconv.so.2 - 我假设它会说它不是由任何软件包提供的。

    您需要在构建机器和目标机器上安装提供它的 RPM(快速搜索会发现 a mirror here)。然后重新构建 RPM(更新版本号!)。

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 2017-05-09
      • 2016-07-18
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2017-12-23
      相关资源
      最近更新 更多