J'ai un paquet rpm d'assistant qui est utilisé pour installer les dépendances nécessaires pour que certains logiciels fonctionnent; le problème est que les paquets de dépendances requis sont ceux de 32 bits, qui ne peuvent pas être installés sur CentOS 64bit sans l'indicateur --setopt=protected_multilib=false
.CentOS 64bit RPM avec des dépendances 32 bits
Pour installer manuellement les dépendances que je venais de courir:
# yum install --setopt=protected_multilib=false libXrandr.i686
# yum install --setopt=protected_multilib=false gtk2.i686
# yum install --setopt=protected_multilib=false libXtst.i686
Ce installerait correctement la version 32 bits des packages.
Le problème apparaît lors de l'installation du package d'assistance directement, car il semble qu'il n'y ait aucun moyen de forcer --setopt = protected_multilib = false pour les dépendances.
Lorsque vous essayez d'installer le paquet (localement, en utilisant yum --nogpgcheck --setopt=protected_multilib=false localinstall centos_helper-0-0.x86_64.rpm
) Je reçois l'erreur suivante:
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
C'est la même erreur que je reçois en essayant d'installer les dépendances à la main sans protected_multilib = false drapeau .
Le fichier .spec J'utilise pour créer le package a le contenu suivant:
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
Toute façon d'avoir les dépendances installer correctement?
L'utilisation de so est la solution la plus élégante à cela, mais j'espérais éviter d'avoir à maintenir cette liste car elle est assez longue; C'est la raison pour laquelle je suis allé avec des paquets, car certains paquets contiennent beaucoup de ce qui est nécessaire. Mais je vais faire un test de marquage des bibliothèques en tant que dépendances au lieu de paquets. –