依赖项 – 即使安装了库,也会出现YUM依赖项问题
我们从源代码构建自己的php和
mysql软件包,这个软件包用于php-5.4.10版本,并在我们自己的存储库中托管这些软件包.我们称这个包为custom-php和custom-mysql(-libs& -server)
当我在服务器上安装yum install custom-php时,yum会列出一个依赖项问题: --> Finished Dependency Resolution Error: Package: custom-php-1.1.x86_64 (php) Requires: libmysqlclient.so.18(libmysqlclient_16)(64bit) Error: Package: custom-php-1.1.x86_64 (php) Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest libmysqlclient.so.18文件由custom-mysql-libs提供,它位于custom-php的spec文件中的Requires下.即使我在发出yum install custom-php之前手动安装了custom-mysql-libs,我仍然会得到上面的错误. 我们的custom-mysql-libs是从mysql源代码构建的,并提供了libmysqlclient.so: $rpm -qlp custom-mysql-libs-1.0.x86_64.rpm /custom/lib64/libmysqlclient.so /custom/lib64/libmysqlclient.so.18 /custom/lib64/libmysqlclient.so.18.0.0 .... $ 当我们在不同的地方安装库时,custom-mysql-libs会在完成后使用/etc/ld.so.conf.d/文件中指定的路径发出ldconfig.我用ldconfig -v验证了这些库是可见的 # ldconfig -v ... /custom/lib64: libmysqlclient.so.18 -> libmysqlclient.so.18.0.0 ... # Yum还找到了库和包: # yum whatprovides */libmysqlclient.so.18 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile custom-mysql-libs-1.0.x86_64 : Custom MySQL libraries Repo : custom Matched from: Filename : /custom/lib64/libmysqlclient.so.18 custom-mysql-libs-1.0.x86_64 : Custom MySQL libraries Repo : installed Matched from: Filename : /custom/lib64/libmysqlclient.so.18 任何帮助表示赞赏.
rpm对本地文件系统一无所知.它只在自己的数据库中查找系统上的内容.在你的情况下,这是一个非标准的放置库的地方.通常,标准位置在/usr/lib64 / mysql /中,而你的是/ custom,所以rpm找不到它应该在的位置.
这里有两个选择.. 1)通过添加一些符号链接来重建自定义符号,这可能有用(真的没有经过测试) 2)使用–no-deps标志强制安装并将/ custom中的mysqllibrary文件符号链接到/usr/lib64 / mysql / 我不认为有任何神奇的命令可以让你让它按照你的希望工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |