参考网站:http://blog.csdn.net/kasagawa/article/details/6824871
http://hi.baidu.com/php_waibao/item/2e0dce178d4334731009b5f8
http://www.cnblogs.com/zhangzhi/archive/2009/09/22/1572120.html
1:一次性安装
gtk依赖很多,包括glib,pango,gdk-pixbuf,atk等。
所以源码安装比较费事。如下网址中
http://www.gtk.org/download/linux.php中可以看到gtk+3.0以上所需依赖的各个版本,
因为依赖的关系,源码安装很复杂。
一次性安装之前查看是否有gtk+2.0和旧版本的glib-2.0,使用以下命令
pkg-config --modversion glib-2.0 pkg-config --modversion gtk+-2.0 pkg-config --modversion gtk+-3.0
若存在可以使用以下命令删除:
sudo apt-get remove --purge libglib2.0-dev sudo apt-get remove gtk2.0-dev
之后一次性安装命令:sudo apt-get install libgtk-3-dev
之后可以使用
pkg-config --modversion glib-2.0 pkg-config --modversion gtk+-2.0
查看安装的gtk,glib版本。
我安装之后glib版本是2.32,gtk版本是3.42
2:源码安装
虽然源码安装最后成功了,但是最后重启老是黑屏,我观察可能是安装pango的原因,然后导致没有内存可用了,
之后我又用字符界面把源码安装的glib,pango等等依赖都删了,gtk也删了,这样就能重新进入图形界面了,
(删除源码安装的东西可以这么实现:
进入源码安装的文件夹(所以建议一般源码安装之后的文件夹别删除)执行以下命令:
./configure -----注意与之前configure的选项要相同 make uninstall
)
但是界面风格变了,比如左边栏的很多图标没了,但是鼠标放上去之后还能打开,文件夹也变成了文本的模样,但是也能打开,不知如何解决。
开始安装
a:首先删除旧版本的glib和gtk
sudo apt-get remove --purge libglib2.0-dev sudo apt-get remove gtk2.0-dev
b:安装
(1)依赖
gtk和gtk的依赖参见以下网址:http://www.gtk.org/download/linux.php
总结如下gtk依赖:glib、atk、gdk-pixbuf、pango
pango依赖如下:cairo、fontconfig、freetype、harbffuz
各个依赖下载网址:https://developer.gnome.org/gtk3/stable/gtk-building.html
之后就可以把各个版本的东西下载下来然后安装了。
(2)下载
以下列出各个依赖的下载网址,后面是我用的版本
glib:http://ftp.acc.umu.se/pub/gnome/sources/glib/ 2.38
gtk:http://ftp.acc.umu.se/pub/gnome/sources/gtk+/ 3.0建议使用3.0版本,更高的版本会出现很多问题
atk:http://ftp.gnome.org/pub/gnome/sources/atk/ 2.11
pango:http://ftp.gnome.org/pub/GNOME/sources/pango/ 1.34
cairo:http://www.cairographics.org/releases/ 1.12.16
fontconfig:http://www.freedesktop.org/software/fontconfig/release/ 2.11
freetype:http://download.savannah.gnu.org/releases/freetype/
harfbuzz:http://www.freedesktop.org/software/harfbuzz/release/ 0.9.23
gdk-pixbuf:http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/ 2.26
gtk-doc:http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/ 1.19
gobject-introspection:http://ftp.acc.umu.se/pub/GNOME/sources/gobject-introspection/ 1.34
(3)出现的问题解决
1:安装时尽量在configure后加上 --prefix=/usr这样安装的软件会放在/usr/include下,否则可能安装在/usr/local/include
2:gtk安装出现以下问题
checking for BASE_DEPENDENCIES... no configure: error: Package requirements (glib-2.0 >= 2.29.14 atk >= 2.1.5 pango >= 1.29.0 cairo >= 1.10.0 cairo-gobject >= 1.10.0 gdk-pixbuf-2.0 >= 2.23.5) were not met: Requested 'glib-2.0 >= 2.29.14' but version of GLib is 2.12.3 Requested 'atk >= 2.1.5' but version of Atk is 1.12.2 Requested 'pango >= 1.29.0' but version of Pango is 1.14.9 Requested 'cairo >= 1.10.0' but version of cairo is 1.2.4 No package 'cairo-gobject' found Requested 'gdk-pixbuf-2.0 >= 2.23.5' but version of GdkPixbuf is 2.10.4 Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
或者是已经把所有依赖都安装了,但是还是检测不到依赖包。
出现问题的原因是:一:安装的包都放在了/usr/local/include下面了;二:各个包安装的版本低
针对各个包安装的版本低时只能重新安装更高版本的包
安装了却检测不到,可以先用pkg-config检测各个包是否存在以及相应的版本。
然后修改环境变量,里面说
Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
可以增加环境变量,BASE_DEPENDENCIES_CFLAGS:安装的各个依赖包的目录,主要是/usr/include下的和/usr/local/include下的
BASE_DEPENDENCIES_LIBS:/usr/local/lib或者/usr/lib目录下的各个安装包的目录
(我是在~/.bashrc里面增加的环境变量 export BASE_DEPENDENCIES_LIBS=.....
export BASE_DEPENDENCIES_CFLAGS=.....
之后执行source ~/.bashrc命令和ldconfig命令,之后重新编译就可以了)
3: pango安装出现问题
checking for HARFBUZZ... no no checking for CoreText availability... no checking for CAIRO... yes checking which cairo font backends could be used... none configure: Disabling cairo support configure: error: *** Could not enable any backends. *** Must have at least one backend to build Pango
出现以上问题时,把harfbuzz、freetype安装上就行了,如果还不行再把fontconfig、gobject-introspection安装上应该就可以解决问题了。
(但是我安装了之后虽然pango正确安装了,但是重启就会出现黑屏、一闪一闪的情况或者是
Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
) 下面是pango正常编译的结果:http://wklej.org/id/750180/
(4)当使用gtk+3.6或者更高版本出现的问题
出现一下问题
./configure gtk时出现以下问题:require atk-bridge-2.0
而atk-bridge-2.0要安装atk-spi2-atk之后才会有,atk-spi2-atk依赖于atspi-2,
安装libatspi-2.0-0才会有atspi-2,但是安装libatspi-2.0-0时与系统早已经安装的旧版本冲突,旧版本卸载要卸载好多东西
肯定会损坏系统,所以很麻烦。
以上所说软件可以在下面网址下载: