我有一个helper rpm包,它用于安装一些软件工作所需的依赖项;问题是所需的依赖项包是32位的,如果没有--setopt=protected_multilib=false标志,它不能安装在CentOS 64位上。
要手动安装我刚才运行的依赖项:
# yum install --setopt=protected_multilib=false libXrandr.i686
# yum install --setopt=protected_multilib=false gtk2.i686
# yum install --setopt=protected_multilib=false libXtst.i686
这将正确安装32位版本的软件包。
该问题出现在直接安装帮助程序包时,因为似乎无法强制--setopt=protected_multilib=false作为依赖项。
在尝试安装软件包(本地安装,使用yum --nogpgcheck --setopt=protected_multilib=false localinstall centos_helper-0-0.x86_64.rpm)时,我收到以下错误:
Examining centos_helper-0-0.x86_64.rpm: centos_helper-0-0.x86_64
Marking centos_helper-0-0.x86_64.rpm to be installed
Loading mirror speeds from cached hostfile
* base: mirror.dattobackup.com
* extras: mirror.metrocast.net
* rpmforge: mirror.de.leaseweb.net
* updates: mirror.dattobackup.com
Resolving Dependencies
--> Running transaction check
---> Package centos_helper.x86_64 0:0-0 will be installed
--> Processing Dependency: libXrandr.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: gtk2.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: libXtst.i686 for package: centos_helper-0-0.x86_64
--> Finished Dependency Resolution
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: gtk2.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXrandr.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXtst.i686
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest这与我尝试在不使用protected_multilib=false标志的情况下手动安装依赖项时遇到的错误相同。
我用来创建包的.spec文件包含以下内容:
Summary: CentOS helper file
Name: centos_helper
Version: 0
Release: 0
License: Public
Group: Applications/System
Requires: libXrandr.i686,gtk2.i686,libXtst.i686
%description
Installer CentOS helper package
%files有什么方法可以正确安装依赖项吗?
发布于 2013-05-15 18:13:00
你可能想看看http://www.rpm.org/wiki/PackagerDocs/ArchDependencies,我更喜欢引用自己的名字,这样百胜就会查找要安装的依赖项。我有过重大的CentOS升级失败,因为如果这个。
如果仅适用于最新的RPM版本: 4.6左右。如果你用的是旧的东西:
要求:real-soname.so.1()(64位),real-soname.so.1,packagename
根据记忆,您可能需要进行一些调整。
https://stackoverflow.com/questions/16559924
复制相似问题