GNU/Linux >> Tutoriels Linux >  >> Cent OS

Centos - 64bit Rpm ne peut pas résoudre les dépendances 32bit ?

Problème

J'ai un RPM qui contient des binaires mixtes 64 bits et 32 ​​bits. L'un des binaires dépend des packages i686 32 bits. Lorsque j'essaie d'installer le package yum, une erreur s'affiche, notant que le package nécessite les packages 32 bits. Cependant, lorsque j'essaie d'installer moi-même les packages requis, cela fonctionne parfaitement.

Détails

Dans mon fichier de spécifications, j'ai

Requires:       glibc.i686 libstdc++.i686 device-mapper-libs.i686 lshw

Lorsque j'essaie d'installer le package sur un système CentOS 6.3, j'obtiens :

# yum update gamigo-kvm-tools
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package gamigo-kvm-tools.x86_64 0:0.0.7-4 will be updated
---> Package gamigo-kvm-tools.x86_64 0:0.0.9-4 will be an update
--> Processing Dependency: libstdc++.i686 for package: gamigo-kvm-tools-0.0.9-4.x86_64
--> Processing Dependency: glibc.i686 for package: gamigo-kvm-tools-0.0.9-4.x86_64
--> Processing Dependency: device-mapper-libs.i686 for package: gamigo-kvm-tools-0.0.9-4.x86_64
--> Finished Dependency Resolution
Error: Package: gamigo-kvm-tools-0.0.9-4.x86_64 (gamigo-CentOS-6-x86_64-liv)
           Requires: libstdc++.i686
Error: Package: gamigo-kvm-tools-0.0.9-4.x86_64 (gamigo-CentOS-6-x86_64-liv)
           Requires: device-mapper-libs.i686
Error: Package: gamigo-kvm-tools-0.0.9-4.x86_64 (gamigo-CentOS-6-x86_64-liv)
           Requires: glibc.i686
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Cependant, lorsque j'installe manuellement les packages référencés, j'obtiens

# yum install libstdc++.i686 device-mapper-libs.i686 glibc.i686
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Package libstdc++-4.4.6-4.el6.i686 already installed and latest version
Package device-mapper-libs-1.02.74-10.el6.i686 already installed and latest version
Package glibc-2.12-1.80.el6_3.5.i686 already installed and latest version
Nothing to do

Je ne comprends pas très bien pourquoi l'erreur se produit et ce qu'elle essaie de me dire. Je vois que cela ne se produit que pour les packages 32 bits car le quatrième package requis "lshw" ne semble pas poser de problème. Existe-t-il une syntaxe de fichier de spécification spéciale pour référencer les packages 32 bits ?

Réponse acceptée :

Je viens de trouver la réponse. Ma ligne Requires devrait être

Requires:       glibc(x86-32) libstdc++(x86-32) device-mapper-libs(x86-32)

comme décrit dans
http://www.rpm.org/wiki/PackagerDocs/ArchDependencies


Cent OS
  1. « -bash :pare-feu :commande introuvable » – Comment résoudre dans CentOS/RHEL 7

  2. "lsb_release :commande introuvable" – Correction dans CentOS/RHEL

  3. Comment récupérer des fichiers de package rpm supprimés (bibliothèques, fichiers de configuration) dans CentOS/RHEL 7

  4. rpm :commande introuvable

  5. Impossible d'installer FreeTDS via Yum Package Manager

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Comment télécharger un package RPM avec toutes les dépendances dans CentOS, Fedora, RHEL, AlmaLinux, Rocky Linux

Comment installer les packages RPM sur CentOS 8

Comment installer les packages RPM dans CentOS, RHEL et Fedora

Répertorier tous les packages installés dans RHEL et CentOS

Installer htop sur centos 6.4