Fedora 17 降级一把辛酸泪

Fedora 17发布,第二天立马更新了。 首先光是更新就折腾了很久,总算弄好了。结果发现一个巨大的问题。gtk2与eclipse不兼容。

不兼容的后果是总是报这样的错误(命令行启动eclipse: eclipse -debug -consolelog):

(Eclipse:21798): GLib-GIO-CRITICAL **: g_dbus_proxy_new_for_bus_sync: assertion `g_dbus_is_name (name)' failed
(Eclipse:21798): GLib-GIO-CRITICAL **: g_dbus_proxy_new_for_bus_sync: assertion `g_dbus_is_name (name)' failed
(Eclipse:21798): GLib-GIO-CRITICAL **: g_dbus_proxy_new_for_bus_sync: assertion `g_dbus_is_name (name)' failed

表现为打开编辑器后总是有很多内容无法显示,显示为空白,必须重新选定或者拖动滚动条才能显示。 这令人崩溃啊!!! 这下悲剧了,要知道我的开发工作就是在ecilpse下进行的。

好吧,上网找找。发现有些人也遇到不兼容问题。但是没有一个解决办法。

我的解决过程是这样:

  • 更新整个fedora环境(发布后官方发布了一些紧急修正包),未果
  • 重新下载最新发行版的eclipse,未果
  • 重新下载最新的测试版本eclipse,未果
  • 下载fedora18的gtk2、glibc等强制安装,未果
  • 降级gtk2、glibc等到fedora 16,未果
  • 继续google,寻找解决方法,依然未果
  • 替换最新发布的二进制swt库,未果
  • 尝试手动编译swt源码,未成功

这样,折腾了几天,快要放弃了。 昨天是在搞不定,尝试下载Idea的社区版,使用了下还是感觉不习惯,放弃。

今天早上突然想到,公司配的那台笔记本还是Fedora 16未升级。于是想强制降级到swt所有依赖库到Fedora 16看能否解决问题。

使用了下面命令成功完成了部分依赖库的降级,这里面更是不断的尝试,在失败中成长。哭~~~

yum list
yum install
yum erase
yum --releasever=16 downgrade
rpm -qa
rpm -qf

好在只是用了mirrors.sohu.com镜像,绑定了内网地址,下载rpm包非常快。这是是给我最大的安慰。 这个过程经过了长达两个小时的折腾和仿佛。最终终于成功完成了以下依赖的降级。

[adyliu@adyliu-pc jafka]$ rpm -qa|grep fc16|sort
cscope-15.7a-9.fc16.x86_64
dconf-0.10.0-1.fc16.x86_64
fcitx-4.2.3-1.fc16.x86_64
fcitx-data-4.2.3-1.fc16.noarch
fcitx-gtk2-4.2.3-1.fc16.x86_64
fcitx-gtk3-4.2.3-1.fc16.x86_64
fcitx-libs-4.2.3-1.fc16.x86_64
gdk-pixbuf2-2.24.1-1.fc16.x86_64
gedit-3.2.6-1.fc16.x86_64
glib2-2.30.3-1.fc16.x86_64
glibc-2.14.90-24.fc16.7.x86_64
glibc-common-2.14.90-24.fc16.7.x86_64
glibc-devel-2.14.90-24.fc16.7.x86_64
glibc-headers-2.14.90-24.fc16.7.x86_64
glib-networking-2.30.1-2.fc16.x86_64
gnome-disk-utility-libs-3.0.2-3.fc16.x86_64
gnutls-2.12.14-2.fc16.x86_64
gsettings-desktop-schemas-3.2.0-1.fc16.noarch
gtk2-2.24.8-3.fc16.x86_64
gtk2-immodule-xim-2.24.8-3.fc16.x86_64
gvfs-1.10.1-3.fc16.x86_64
libarchive-2.8.5-1.fc16.x86_64
libbluray-0.2-0.5.20110710git51d7d60a96d06.fc16.x86_64
libcdio-0.82-6.fc16.x86_64
libsoup-2.36.1-2.fc16.x86_64
mdadm-3.2.3-7.fc16.x86_64
nautilus-3.2.1-2.fc16.x86_64
nautilus-extensions-3.2.1-2.fc16.x86_64
PackageKit-0.6.22-2.fc16.x86_64
PackageKit-glib-0.6.22-2.fc16.x86_64
PackageKit-gtk-module-0.6.22-2.fc16.x86_64
PackageKit-yum-0.6.22-2.fc16.x86_64
pango-1.29.4-1.fc16.x86_64
yum-3.4.3-24.fc16.noarch

可以看到仅仅更新gtk2/glibc是不够的。

总结下:

  • 坚持是成功的关键(中间过程,欲哭无泪,最后我都打算重新安装Fedora 16了)
  • 我还是很强的(囧)