參考網站: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時與系統早已經安裝的舊版本沖突,舊版本卸載要卸載好多東西
肯定會損壞系統,所以很麻煩。
以上所說軟件可以在下面網址下載:
