Каждый раз, когда я пытаюсь обновить #sudo yum, я получаю предупреждения о том, что в 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
Они оба существуют, так в чем проблема?!?