使用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'
有人可以向我解释为什么百胜找不到它吗?还是将我推向正确的方向?
谢谢
答案 0 :(得分:0)
如果它不在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的RPM(快速搜索会显示a mirror here)。然后重建RPM(达到发行版号!)。