2012-09-16 60 views
0

我想在Ubuntu 10.04 32位上構建Maliit(https://wiki.maliit.org/Documentation/Installing)。我還有一臺Ubuntu 12.04機器,並且在較新的Ubuntu上構建Maliit可以很好地工作,但我需要在10.04版本上構建它。使用glib和dbus構建Maliit時出錯dbus_g_value_build_g_variant

我在10.04上發現了幾個早期的錯誤,谷歌搜索結果是由於過時的版本的glib。所以我抓住了最新版本,並內置這樣的:

cd /home/$user/Desktop 
wget http://ftp.gnome.org/pub/gnome/sources/glib/2.33/glib-2.33.12.tar.xz 
unxz glib-2.33.12.tar.xz 
tar xvf glib-2.33.12.tar 
cd glib-2.33.12 
mkdir build-x86 
cd build-x86 
mkdir /home/$user/glib-2.33 
../configure --prefix=/home/$user/glib-2.33 
make 
make install 
export PATH=/home/$user/glib-2.33/bin:$PATH 
cp -r /home/$user/glib-2.33/bin/* /usr/bin 
cp -r /home/$user/glib-2.33/share/* /usr/share 
cp -r /home/$user/glib-2.33/include/* /usr/include 
cp -r /home/$user/glib-2.33/lib/* /usr/lib 
cp -r /home/$user/glib-2.33/lib/*so* /lib/ 

構建幾乎成功,但現在我被困在下面的錯誤:

make[3]: Entering directory `/home/user/Desktop/maliit-framework-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release/examples/apps/gtk2' 
g++ -Wl,-O1 -Wl,--as-needed -Wl,-rpath,/home/pclass/QtSDK/Desktop/Qt/4.8.1/gcc/lib -o maliit-exampleapp-gtk2 .obj/exampleapp-gtk.o -L/usr/X11R6/lib ../../../lib/libmaliit-glib-1.0.so -L/home/pclass/glib-2.33/lib -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lrt -lglib-2.0 -lXext -lX11 -lm 
../../../lib/libmaliit-glib-1.0.so: undefined reference to `dbus_g_value_build_g_variant' 
../../../lib/libmaliit-glib-1.0.so: undefined reference to `dbus_g_value_parse_g_variant' 
collect2: ld returned 1 exit status 
make[3]: Leaving directory `/home/user/Desktop/maliit-framework-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release/examples/apps/gtk2' 
make[2]: Leaving directory `/home/user/Desktop/maliit-framework-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release/examples/apps' 
make[1]: Leaving directory `/home/user/Desktop/maliit-framework-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release/examples' 
make: Leaving directory `/home/user/Desktop/maliit-framework-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release' 
make[3]: *** [maliit-exampleapp-gtk2] Error 1 
make[2]: *** [sub-gtk2-make_default] Error 2 
make[1]: *** [sub-apps-make_default] Error 2 
make: *** [sub-examples-make_default-ordered] Error 2 
13:48:42: The process "/usr/bin/make" exited with code 2. 
Error while building project maliit-framework (target: Desktop) 
When executing build step 'Make' 

具體的錯誤歸結爲:

../../../lib/libmaliit-glib-1.0.so: undefined reference to `dbus_g_value_build_g_variant' 
../../../lib/libmaliit-glib-1.0.so: undefined reference to `dbus_g_value_parse_g_variant' 
collect2: ld returned 1 exit status 

我不知道這是什麼意思,谷歌沒有提供任何有用的東西。我認爲這可能與Glib和dbus有關。有什麼問題,我該如何解決這個問題?請幫我解決這個問題!因爲它無法找到dbus_g_value_build_g_variant()功能

回答

2

編譯失敗,該功能首次出現在dbus-glib 0.88,但的Ubuntu 10.04附帶dbus-glib 0.84所以這就是問題所在。

順便說一句,DBUS,能說會道0.88撞到其巧舌如簧要求巧舌如簧,2.24但是這不是你的問題,你要安裝巧舌如簧,2.33

您需要安裝dbus-glib 0.88來修復編譯錯誤。

+0

謝謝!這正是我需要的...... – PhilBot