gtk+3.0安装

参考网站: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时与系统早已经安装的旧版本冲突,旧版本卸载要卸载好多东西

              肯定会损坏系统,所以很麻烦。

              以上所说软件可以在下面网址下载:

              http://www.debian.org/intro/about

              http://packages.ubuntu.com/ 

原文地址:https://www.cnblogs.com/flyingdirt/p/3427121.html