2011-11-07 128 views
3

我想修改Ubuntu Oneiric上的GTK2。如何編譯GTK2源代碼?

我下載源:

apt-get source libgtk2.0-0 
cd gtk+2.0-2.24.6/ 

我嘗試編譯並覆蓋當前GTK2:

./configure --prefix=/usr 
sudo make 

Soemhow我得到一個錯誤(我擁有所有必要的庫和建立必要的包等):

In file included from gtkquery.c:26:0: 
gtkquery.h:31:2: error: #error "gtkfilechooserprivate.h is not supported API for general use" 

順便說一句,我能夠修改和重新編譯GTK3沒有問題wi同樣的步驟。

如果使用debuild,我得到成千上萬的

dpkg-source: error: cannot represent change to gtk+2.3.0-2.24.6/gtk+2.0-2.24.6/something: binary file contents changed 
+2

你真的不應該使用'sudo'運行'make',因爲奇怪的事情可能發生。但是,安裝時很好'sudo make install'。 – rodrigo

+0

謝謝。其實這就是我所做的。我在這裏意外地輸入了一個sudo。 –

回答

1

,如果你嘗試建立它的手這樣你不會得到在Ubuntu提供的附近建造任何東西 - 你會錯過所有的./configure選項和其他設置。 (請查看debian/rules瞭解他們所設置的全部細節。)

請改爲嘗試debian/rules build

由於我還沒有調查的原因(可能包括我不理解它應該如何工作),這並不適用於我嘗試的第一個包,但設置pbuilder讓我建立我想要的包。

將一個乾淨的chroot作爲一個構建環境可能會讓人覺得過度使用,但是由於您在本地系統上有一些有趣的東西,因此您可以輕鬆地構建自己的問題,以避免世界上其他人無法複製的問題。

+0

我可以修改和重新編譯GTK3,沒有任何問題。使用你的方法,即使使用pbuilder,我也會得到另一個錯誤。 –