GNU/Linux >> Belajar Linux >  >> Cent OS

Centos – 64bit Rpm Tidak Dapat Menyelesaikan Ketergantungan 32bit?

Masalah

Saya memiliki RPM yang berisi binari campuran 64bit dan 32bit. Salah satu binari bergantung pada paket i686 32bit. Ketika saya mencoba menginstal paket yum memberi saya kesalahan, mencatat bahwa paket tersebut memerlukan paket 32bit. Namun ketika saya mencoba menginstal sendiri paket-paket yang diperlukan, itu bekerja dengan sempurna.

Detail

Dalam file spesifikasi saya, saya memiliki

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

Ketika saya mencoba menginstal paket pada sistem CentOS 6.3 saya mendapatkan:

# 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

Namun ketika saya menginstal paket yang direferensikan secara manual, saya mendapatkan

# 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

Saya tidak begitu mengerti mengapa Kesalahan terjadi dan apa yang coba diberitahukan kepada saya. Saya melihat bahwa itu hanya terjadi untuk paket 32bit karena paket 'lshw' yang diperlukan keempat tampaknya tidak menjadi masalah. Apakah ada sintaks specfile khusus untuk mereferensikan paket 32bit?

Jawaban yang Diterima:

Saya baru saja menemukan jawabannya. Baris Persyaratan saya seharusnya

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

seperti yang dijelaskan dalam
http://www.rpm.org/wiki/PackagerDocs/ArchDependencies


Cent OS
  1. Cara menginstal paket RPM ke direktori berbeda di CentOS/RHEL/Fedora

  2. Cara Memulihkan File Paket rpm yang Dihapus (perpustakaan, file konfigurasi) di CentOS/RHEL 7

  3. Tidak Dapat Menginstal FreeTDS melalui Yum Package Manager

  1. “-bash:firewall:command not found” – Cara mengatasi di CentOS/RHEL 7

  2. “lsb_release:command not found” – Perbaiki di CentOS/RHEL

  3. rpm:perintah tidak ditemukan

  1. Cara Menginstal paket RPM di RHEL 8 / CentOS 8 Linux

  2. Temukan paket mana yang menjadi milik perintah di CentOS

  3. Bagaimana cara mendapatkan daftar dependensi paket RPM yang tidak diinstal?