2017-05-18 32 views
0

我在圖書館掙扎的最後幾天(GLib2.52.2 & GTK3.22.15),而我試圖在Ubuntu 16.04 LTS(全新安裝)上編譯它們。GTK3編譯不會找到我實際編譯的GLib2.0。我錯過了什麼?

GLib2.52.2剛編譯安裝所需的依賴關係後沒有錯誤。

我的問題是以下幾點:

當我要開始的GTK3.22.15

$ ./configure --prefix=/usr --with-pcre=system && make -j 6 

我收到此錯誤信息編譯:

configure: error: Package requirements (glib-2.0 >= 2.49.4 atk >= 2.15.1 pango >= 1.37.3 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0) were not met: 

Requested 'glib-2.0 >= 2.49.4' but version of GLib is 2.48.2 

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. 

解決EDIT

我AskUbuntu得到了/usr/local的一切建議以防止co在某些情況下使用官方存儲庫更新。

$ ./configure --prefix=/usr/local --with-pcre=system && make -j 6 

在這些條件下解決了我的問題。我沒有碰任何東西,指的是其他這樣說:「不匹配」的依賴,編譯GTK3(15年3月22日)/usr/local重新編譯GLib2.0(2.52.2)之後。

回答

0

請求 '巧舌如簧-2.0> = 2.49.4',但GLib的版本是2.48.2

當編譯爲Gnome和Gtk庫,你經常需要更新其他庫了。如果從ubuntu庫下載gtk3(使用synaptic軟件包管理器搜索gtk3gtk+-3.0),你會看到,你不僅會下載gtk3,而是一堆其他圖書館gtk3需求。在使用存儲庫的情況下(推薦!)系統將處理所有事情。

我不是Ubuntu用戶,但我對幕後部分感興趣,所以我經常編譯庫,我必須手動執行此操作。因此,要安裝gtk3的新版本,我必須首先編譯並更新glib。這樣做後,我可能還必須先更新PangoATK和其他幾個庫。如果你喜歡用這樣的東西浪費時間,那就去做吧!否則考慮使用存儲庫。

+0

我在第一句中鏈接了所需的GLib版本,並且已經按照前面所述編譯了它,但是感謝您的回覆。當我與另一個人交談時,我得到了建議,爲了避免衝突,在'/ usr/local'中編譯所有內容,在這種情況下,它運行良好。 –

+0

「/ usr/local防止衝突」實際上並不能保證一切順利。但我很高興它在你的情況下。請記住,儘管你已經混淆了安裝路徑(我知道大多數發行版都使用/ usr作爲路徑),但未來仍然如此。 – jcoppens

+0

我明白了。但如果我想要有兩個不同的庫,一個是默認的,另一個是特殊的進程,我通常如何完成這個工作? –

相關問題