http://www.linuxdiyf.com/viewarticle.php?id=87413
预备知识简述:
1、Linux环境变量
Linux是一个多用户系统。每个用户登录系统后,都会有一个专用的运行环境。通常,每个用户默认环境变量都是相同的。用户可以用env来查看你的变量。
如:
[root@localhost root]# env
SSH_AGENT_PID=3980
HOSTNAME=localhost.localdomain
…
用户也可以查看某一个环境变量的值,如:
[root@localhost root]# echo $SSH_AGENT_PID
3980
另外还有两个比较常用的命令:
设置环境变量:export
如:export XX_PATH=/usr/sbin/lib
清除环境变量:unset
环境变量是终端中生命周期最长的变量,只要你不关闭终端,他就可以存在。在这个终端运行的程序可以通过相关的系统调用访问。因而,它能够给程序提供一些通用的数据。在安装过程中需要建立两个环境变量,我们稍后讨论。
二、检查所需文件
atk-1.9.1 ftp://ftp.gtk.org/pub/gtk/v2.8/
cairo-1.2.4 http://cairographics.org/
pango-1.14.7 http://ftp.gnome.org/pub/GNOME/sources/pango/
gtk+-2.10.0 http://ftp.gnome.org/pub/GNOME/sources/gtk+/2.10/
glib-2.12.0 ftp://ftp.gtk.org/pub/glib/2.12/
可以用rpm -q atk / cairo / pango / gtk+ / glib 来检查其版本
对于不是用RPM包安装的文件而言,可以用 pkg-config --modversion atk / cairo / pango / gtk+ / glib检查版本号
我的各文件分别为
atk-1.18.0-1.fc7
cairo-1.4.4-1.fc7
pango-1.16.4-1.fc7
glib-1.2.10-26.fc7
gtk+-1.2.10-57.fc7
所以要安装更高版本的gtk+和glib
三、开始安装
1.设定环境变量
为了在安装过程中,能找到相应的库进行编译,首先建立两个环境变量。步骤如下:
[root@localhost root]#export LD_LIBRARY_PATH=/usr/local/lib
[root@localhost root]#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
这两个步骤可以互换。建立之后,你可以用echo确认是否成功:
[root@localhost root]#echo $LD_LIBRARY_PATH
[root@localhost root]#echo $PKG_CONFIG_PATH
在安装过程中,不要改变终端,不然还需要重新建立一次。
注:在GTK+的README文件中,说明编码应该为UTF-8:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
G_BROKEN_FILENAMES=1
(这一项可以在环境变量里看到)
2.解压缩
这个不用太多讲述,和其它的解压没什么区别。例如解压glib-2.12.11.tar.bz2:
[root@localhost root]#tar jxvf glib-2.12.11.tar.bz2
3.安装glib
首先执行configure命令:[root@localhost root]#./configure .完成后,就可以编译了。注意的是,在安装之前首先要进行反安装,以删除以前的版本。否则,以安装其它库的时候会出错。所有执行命令如下:
[root@localhost root]#cd glib-2.12.11
[root@localhost root]#./configure
[root@localhost root]# make
[root@localhost root]# make uninstall
[root@localhost root]# make install
安装完成后
[root@localhost root]# rpm -q glib
glib-1.2.10-26.fc7
这是因为glib-2.12.9不是用RPM安装的,所以要
[root@localhost root]# pkg-config --modversion glib-2.0
2.12.11
4.安装gtk+-2.10.0
[root@localhost root]#./configure
[root@localhost root]# make
[root@localhost root]# make install
ok,安装需要耗费大量时间,完成后可以用 #pkg-config --modversion gtk+-2.0查看。
啰嗦两句,我开始安装的是gtk+-2.11.04 要求glib>=2.13.1 (configure时会出现)
我又换了gtk+-2.9.0,要求glib>=2.10.1
我是glib-2.12.11,所以可以configure
但是,在make 的过程中,出现错误:
关于gtk-query-immodules-2.0的,没有搜到解决方案,也不会看makefile
换了gtk+-2.10.0,make 成功,但还会有若干关于参数的警告出现。