在试图做一个“百胜更新”,我已经开始在我的一些系统上遇到以下错误:
--> Running transaction check --> Processing Dependency: freetype = 2.2.1-28.el5_5 for package: freetype-devel ---> Package freetype.i386 0:2.2.1-28.el5_5.1 set to be updated --> Finished Dependency Resolution freetype-devel-2.2.1-28.el5_5.i386 from installed has depsolving problems --> Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed) Error: Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)
这对我来说没有任何意义,因为当我尝试安装“缺失”软件包时,我被告知它已经在那里了。
Setting up Install Process Package freetype-2.2.1-28.el5_5.i386 already installed and latest version Nothing to do
我已经尝试了一个没有改变的'yum clean all',以及yumbuild议的package-cleanup命令。
任何人都可以帮我进一步诊断或解决这个问题吗?
它告诉你:
由于第一步将删除旧版本的freetype ,旧的freetype-devel将被打破。 所以它救了。
问题是:为什么不试图更新到新版本的freetype-devel?
对于freetype和freetype-devel,都有i386和x86_64包,所以不应该引起冲突,但是,呃,有时候事情会变得不那么顺利。 如果你在x86_64上,并且不需要i386包,那么删除它可能会清除一切。
但是最容易重新开始工作的可能是删除freetype-devel,除非你正在编译与freetype相关的东西。 更新成功完成后,您可以尝试单独安装,如果遇到问题,将会是一个更直接的问题。
你在64位系统? 如果是这样,如果您安装了软件包的i386和x86_64版本,则可能会遇到奇怪的行为。 您可以尝试删除i386 freetype包,如下所示:
yum remove freetype.i386
这可能会删除额外的i386包,但如果你在x86_64系统上,这是好的。 事实上,我经常最终删除所有这样的i386软件包:
yum remove $(rpm -qa –qf ='%{NAME} – %{VERSION}。%{ARCH} \ n'| grep'.i386 $')
您可以通过在/etc/yum.conf中将multilib_policy设置为best来防止将来安装i386软件包:
multilib_policy=best