GNU/Linux >> Linux Esercitazione >  >> Cent OS

Centos – Il numero di giri a 64 bit non può risolvere le dipendenze a 32 bit?

Problema

Ho un RPM che contiene binari misti a 64 bit e 32 bit. Uno dei binari dipende dai pacchetti i686 a 32 bit. Quando provo a installare il pacchetto yum mi dà un errore, notando che il pacchetto richiede i pacchetti a 32 bit. Tuttavia, quando provo a installare da solo i pacchetti richiesti, funziona perfettamente.

Dettagli

Nel mio file di specifiche ho

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

Quando provo a installare il pacchetto su un sistema CentOS 6.3 ottengo:

# 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

Tuttavia, quando installo manualmente i pacchetti di riferimento, ottengo

# 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

Non capisco bene perché si verifica l'errore e cosa sta cercando di dirmi. Vedo che si verifica solo per i pacchetti a 32 bit poiché il quarto pacchetto richiesto "lshw" sembra non essere un problema. Esiste una sintassi di specfile speciale per fare riferimento ai pacchetti a 32 bit?

Risposta accettata:

Ho appena trovato la risposta. La mia riga Richiesto dovrebbe essere

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

come descritto in
http://www.rpm.org/wiki/PackagerDocs/ArchDependencies


Cent OS
  1. Come installare un pacchetto RPM in una directory diversa in CentOS/RHEL/Fedora

  2. “-bash:firewall:comando non trovato” – Come risolvere in CentOS/RHEL 7

  3. "lsb_release:comando non trovato" – Correzione in CentOS/RHEL

  4. Come recuperare file di pacchetto rpm eliminati (librerie, file di configurazione) in CentOS/RHEL 7

  5. rpm:comando non trovato

Come installare e gestire i pacchetti su CentOS utilizzando RPM

Come scaricare un pacchetto RPM con tutte le dipendenze in CentOS, Fedora, RHEL, AlmaLinux, Rocky Linux

Come installare i pacchetti RPM su CentOS 8

Come installare i pacchetti RPM in CentOS, RHEL e Fedora

Elenca tutti i pacchetti installati in RHEL e CentOS

Installa htop su centos 6.4