CentOS6(64bit)にsphinxをchefインストールしたときのトラブルメモ
Post date: 2013/12/24 2:44:30
注意: このメモは、アナジックスのchefサーバからsphinxを入れた場合に起きたトラブルの対処法です。
症状: chefのlog (info)では原因わからず。yum install sphinx-devel したところ以下のエラー
[root@alb-server chef]# yum install python-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.fairway.ne.jp
* epel: mirror01.idc.hinet.net
* extras: mirror.fairway.ne.jp
* rpmforge: mirrors.neusoft.edu.cn
* updates: ftp.nara.wide.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package python-devel.x86_64 0:2.6.6-51.el6 will be installed
--> Processing Dependency: python(x86-64) = 2.6.6-51.el6 for package: python-devel-2.6.6-51.el6.x86_64
--> Running transaction check
---> Package python.x86_64 0:2.6.6-37.el6_4 will be updated
--> Processing Dependency: python = 2.6.6-37.el6_4 for package: python-libs-2.6.6-37.el6_4.i686
--> Processing Dependency: python = 2.6.6-37.el6_4 for package: python-libs-2.6.6-37.el6_4.x86_64
---> Package python.x86_64 0:2.6.6-51.el6 will be an update
--> Running transaction check
---> Package python.x86_64 0:2.6.6-37.el6_4 will be updated
--> Processing Dependency: python = 2.6.6-37.el6_4 for package: python-libs-2.6.6-37.el6_4.i686
---> Package python-libs.x86_64 0:2.6.6-37.el6_4 will be updated
---> Package python-libs.x86_64 0:2.6.6-51.el6 will be an update
--> Finished Dependency Resolution
Error: Package: python-libs-2.6.6-37.el6_4.i686 (@updates)
Requires: python = 2.6.6-37.el6_4
Removing: python-2.6.6-37.el6_4.x86_64 (@updates)
python = 2.6.6-37.el6_4
Updated By: python-2.6.6-51.el6.x86_64 (base)
python = 2.6.6-51.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
原因: ログをよーく見ればわかるのだが、 python-libs-2.6.6-37.el6_4.i686 が混入していた
対策: yum uninstall python-libs-2.6.6-37.el6_4.i686 すればよいだけ。
yum update --skip-brokenを実行すると、以下のようなメッセージがでたのでこのことがわかった。
Packages skipped because of dependency problems:
python-2.6.6-51.el6.x86_64 from base
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for python-libs which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of python-libs of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude python-libs.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of python-libs installed, but
yum can only see an upgrade for one of those arcitectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.