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.