我有一个帮助程序rpm包,用于安装必要的依赖项以使某些软件能够正常工作;问题是所需的依赖包是32位的,不能在没有--setopt=protected_multilib=false
标志的情况下安装在CentOS 64位上。与32位依赖关系的CentOS 64位RPM
要手动安装我刚刚运行的依赖关系:
# 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当我得到=假标志。
我使用创建包代表.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
任何方式都依赖安装是否正确?
使用so是更优雅的解决方案,但我希望避免必须维护该列表,因为它很长;这就是为什么我带着包去的原因,因为有些包包含很多需要的东西。 但我会做一个测试标记库作为依赖而不是包。 –