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