作者,勇敢的心。
腾讯的的官方linuxqq终于是千呼万唤始出来呀!说在7月发布linuxqq,好嘛,一直到7月的最后一天!下下来赶紧装上,结果发现不能用!原来我的 Fedora Core 5 系统太老了,需要gtk库在2.10及以上的版本才行,而我的FC5的gtk才2.8版本。
没办法,不想重装系统,只能源码安装gtk了为了不致于影响系统的其它程序,只能将gtk装在/usr/local下了。源码安装其实也是挺麻烦的,尤其是自己要处理所有的依赖关系处理安装过程中出现的种种可能的错误。
1.先说说所需要的依赖:
我用的gtk源码包是 gtk+2.0_2.12.11.orig.tar.gz,它依赖
glib-2.0 >= 2.13.5
atk >= 1.9.0
pango >= 1.17.3
cairo >= 1.2.0
我的系统中atk版本满足要求,但其余三个不满足要求,于是下载了
glib-2.16.4, pango-1.20.5 和 cairo-1.6.4
而pango又依赖pixman >=0.10 ,于是又下载了 pixman-0.11.8。
2.准备要安装的包共有5个: pixman-0.11.8, pango-1.20.5, cairo-1.6.4, glib-2.16.4 和 gtk+2.0-2.12.11。
安装顺序如下:
pixman ---+--> pango----+
| |
cairo ----+ ------+----> gtk
|
glib------------------+
注意: pango可以独立与cairo安装,但是那样安装的pango中没有cairo的插件,会导致最终安装。gtk时报错 undefined reference to `pango_cairo_show_error_underline'。为了解决这个问题,安装pango之前应该先安装cairo,这样再安装pango才会有对cairo的支持。
3.由于是安装在非标准目录 /usr/local 下,可能会出现找不到所需要的库的问题。比如你明明已经在/usr/local下安装了glib-2.16的库,但默认情况下它还是去找/usr下去找,结果找到 glib2-2.11.3,说版本低。其实这都是pkg-config干的活。要解决这个问题,只需要在编译安装之前指定环境变量 PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
即可,这样,pkg-config 就会去/usr/local 下去找自己装的 glib-2.16.4 等库了。
4.安装命令:
都是
./configure --prefix=/usr/local
make
make install
只是有一点要注意,就是在对 gtk 进行 make install 之前,应该先设一下环境变量
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
否则会出现找不到某一个库的错误。
5.最后,修改启动脚本,启动脚本中应该在运行QQ之前有如下指定
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
然后就可以用修改过的启动脚本启动linuxQQ了。
[ 本帖最后由 Necisd 于 2008-8-1 10:20 编辑 ]
bluespig 于 2009-04-18 01:46:51发表:
感觉好难呀!现在还是初级阶段!
pkpdm1 于 2008-08-26 21:05:34发表:
exiaofeng2008 于 2008-08-20 08:22:20发表:
为什么我看不到附件啊!!!
aaronzy 于 2008-08-07 16:08:44发表:
楼上的方法试过了没有用。
rtl 于 2008-08-06 10:10:56发表:
那用那麽麻?用我帖子?的安?方法即可
http://www.linuxdiyf.com/bbs/viewthread.php?tid=101723&extra=page%3D&page=1
meinv911 于 2008-08-01 16:29:57发表:
汗。。之前从不曾考虑过依赖关系,弓虽人!拜楼主~~(5ty(
fjsbf 于 2008-08-01 15:59:02发表:
高手 ,可是还是有点看不明白(5ty( (5ty( (5ty(
konhon 于 2008-08-01 10:47:07发表:
报这个错
symbol lookup error: ./QQ: undefined symbol: g_once_init_enter_impl
都是GTK 版本低的原因. 我在CentOS 5.2 下, 更新GTK后能用了.