#sudo yum update を試みるたびに、PyYAML-3.08-4.el5.x86_64 に libyaml-0.so.1()(64bit) の依存関係がないという警告が表示されます。
そこで、いくつかのチェックを行ったところ、libyaml が実際にインストールされているように見えるので、PyYAML と libyaml のインストールに何が問題なのか疑問に思っています。libyaml は PyYAML によって自動的にプルされたので、リポジトリで何か奇妙なことが起こっていると思います。YUM からの出力は次のとおりです。
[root@am-web-1 ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror01.th.ifl.net
* epel: mirror01.th.ifl.net
* extras: mirror01.th.ifl.net
* rpmforge: fr2.rpmfind.net
* updates: mirror01.th.ifl.net
Excluding Packages from CentOS-5 - Base
Finished
Reducing CentOS-5 Testing to included packages only
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.10-1.el5.rf set to be updated
--> Processing Dependency: libyaml-0.so.1()(64bit) for package: PyYAML
---> Package libyaml.x86_64 0:0.1.4-1.el5.rf set to be updated
---> Package perl-Git.x86_64 0:1.7.10-1.el5.rf set to be updated
--> Finished Dependency Resolution
PyYAML-3.08-4.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: libyaml-0.so.1()(64bit) is needed by package PyYAML-3.08-4.el5.x86_64 (installed)
Error: Missing Dependency: libyaml-0.so.1()(64bit) is needed by package PyYAML-3.08-4.el5.x86_64 (installed)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
問題があることはわかっていますが、この libyaml はどこにあるのでしょうか。
[alexander@am-web-1 ~]$ yum whatprovides "*/libyaml-0.so.1"
Loaded plugins: fastestmirror
Excluding Packages from CentOS-5 - Base
Finished
Reducing CentOS-5 Testing to included packages only
Finished
Excluding Packages from CentOS-5 - Updates
Finished
libyaml-0.1.2-3.el5.i386 : YAML 1.1 parser and emitter written in C
Repo : epel
Matched from:
Filename : /usr/lib/libyaml-0.so.1
libyaml-0.1.2-3.el5.x86_64 : YAML 1.1 parser and emitter written in C
Repo : epel
Matched from:
Filename : /usr/lib64/libyaml-0.so.1
libyaml-0.1.2-3.el5.x86_64 : YAML 1.1 parser and emitter written in C
Repo : installed
Matched from:
Filename : /usr/lib64/libyaml-0.so.1
libyaml-0.1.2-3.el5.i386 : YAML 1.1 parser and emitter written in C
Repo : installed
Matched from:
Filename : /usr/lib/libyaml-0.so.1
では、ライブラリは存在しますか?
[alexander@am-web-1 ~]$ ls /usr/lib64/libyaml-0.so.1*
/usr/lib64/libyaml-0.so.1 /usr/lib64/libyaml-0.so.1.1.0
64ビットのものはありますか、32ビットのものはありますか?
[alexander@am-web-1 ~]$ ls /usr/lib/libyaml-0.so.1*
/usr/lib/libyaml-0.so.1 /usr/lib/libyaml-0.so.1.1.0
どちらも存在するのに、何が問題なの?!?