1. GTK+的安装
如果系统中已经安装有 GTK+,要安装新版本的 GTK+ 时,最好使用新的安装目录/opt/gtk,GTK+ 及其依赖库都将安装在这个目录下。
原因为:在 Linux 系统上使用的很多软件都是在 GTK+ 库的支持下运行的(比如 GNOME桌面)。如果相关的 GTK+ 库发生损坏,或者库的版本发生了变化,轻微的可造成某些程序不能正常运行,严重的可能会给系统运行带来障碍(比如进入不了桌面环境,等等。)因此,新版本的 GTK+ 的安装应该避免对原来的 GTK+ 造成影响,以保证系统的正常运行。
1.1 配置重要的环境变量
$ export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:$PKG_CONFIG_PATH
$ export LD_LIBRARY_PATH=/opt/gtk/lib64:/opt/gtk/lib:$LD_LIBRARY_PATH
一些程序的运行需要依赖于此环境变量,可以将其加入.bashrc配置文件中。
1.2 按顺序下载源码包并安装
最好各个选择稳定版本,参考:http://www.gtk.org/download/linux.php
根据依赖关系的要求,库的安装大致按照这样的先后顺序进行:libffi(3.0.13)、GLib(2.34.3)、Atk(2.6.0)、[optional: poppler]、[optional:libspectre,需要libgs(ghostscript)]、cairo(1.10.2)、Pango(1.32.6)、TIFF library、gdk-pixbuf(2.26.5)、Gtk+(3.6.0)。
其中TIFF library可以使用‘yum install libtiff*’进行安装。
安装Pango的时候,提示错误:
configure: error: *** Could not enable any backends.
*** Must have at least one backend to build Pango.
此时,需要安装:
HarfBuzz(old-master),需要安装老版本的。
fontconfig(2.10.93),需要安装最新版的。
FreeType(2.4.9)
在安装gtk+-3.6 configure的时候,提示错误:
configure: error: Package requirements (atk atk-bridge-2.0) were not met
则需要安装 at-spi2-core-2.6.3 和 at-spi2-atk-2.6.2
花费了近一晚上,终于搞定了,真是不简单啊…
其实,可以按如下顺序安装:
libxml2-2.9.1 ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz DocBook-utils-0.6.14 ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz libxslt-1.1.28 ftp://xmlsoft.org/libxslt/libxslt-1.1.28.tar.gz SGMLSpm-1.1 http://search.cpan.org/CPAN/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz libffi-3.0.13 ftp://sourceware.org/pub/libffi/libffi-3.0.13.tar.gz xcb-proto-1.8 http://xcb.freedesktop.org/dist/xcb-proto-1.8.tar.bz2 FreeType-2.4.12 ftp://mirror.ovh.net/gentoo-distfiles/distfiles/freetype-2.4.12.tar.bz2 expat-2.1.0 http://downloads.sourceforge.net/expat/expat-2.1.0.tar.gz libXau-1.0.8 ftp://ftp.x.org/pub/individual/lib/libXau-1.0.8.tar.bz2 libXdmcp-1.1.1 ftp://ftp.x.org/pub/individual/lib/libXdmcp-1.1.1.tar.bz2 Fontconfig-2.10.2 http://fontconfig.org/release/fontconfig-2.10.2.tar.bz2 GLib-2.34.3 ftp://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz Pixman-0.30.0 http://cairographics.org/releases/pixman-0.30.0.tar.gz libxcb-1.9.1 http://xcb.freedesktop.org/dist/libxcb-1.9.1.tar.bz2 libpng-1.6.2 http://downloads.sourceforge.net/libpng/libpng-1.6.2.tar.xz Cairo-1.12.14 http://cairographics.org/releases/cairo-1.12.14.tar.xz Graphite2 http://projects.palaso.org/attachments/download/384/graphite2-1.2.3.tgz ASM-2.10.07 http://www.nasm.us/pub/nasm/releasebuilds/2.10.07/nasm-2.10.07.tar.xz D-Bus-1.6.10 http://dbus.freedesktop.org/releases/dbus/dbus-1.6.10.tar.gz ICU-51.2 http://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.tgz Intltool-0.50.2 http://launchpad.net/intltool/trunk/0.50.2/+download/intltool-0.50.2.tar.gz gobject-introspection-1.34.2 ftp://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.34/gobject-introspection-1.34.2.tar.xz GTK-Doc-1.18 ftp://ftp.gnome.org/pub/gnome/sources/gtk-doc/1.18/gtk-doc-1.18.tar.xz libjpeg-turbo-1.3.0 http://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-1.3.0.tar.gz LibTIFF-4.0.3 ftp://ftp.remotesensing.org/libtiff/tiff-4.0.3.tar.gz at-spi2-core-2.6.3 ftp://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.6/at-spi2-core-2.6.3.tar.xz Harfbuzz-0.9.18 http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.18.tar.bz2 ATK-2.6.0 ftp://ftp.gnome.org/pub/gnome/sources/atk/2.6/atk-2.6.0.tar.xz at-spi2-atk-2.6.2 ftp://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/2.6/at-spi2-atk-2.6.2.tar.xz gdk-pixbuf-2.26.5 ftp://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/gdk-pixbuf-2.26.5.tar.xz Pango-1.32.5 ftp://ftp.gnome.org/pub/gnome/sources/pango/1.32/pango-1.32.5.tar.xz GTK+-3.6.4 ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz
以上安装中需要注意的是:1. 在安装DocBook-utils-0.6.14的时候,configure后需要接参数–disable-docs,否则fontconfig的安装会报错。 2. 若提示错误:glib-compile-schemas: command not found,则表示在root用户中没有该命令,于是make install不成功,需要使root用户的$PATH中含有/opt/gtk/bin目录。