GNOME/Compile/3.24/Kali
Jump to navigation
Jump to search
Untuk memeriksa hasil terjemahan suatu aplikas GNOME, salah satu cara adalah dengan mengcompile aplikasi tersebut setelah terjemahan terbarunya kita pasang. GNOME memiliki aplikasi jhbuild untuk membantu kita melakukan compile.
JHBuild step-by-step
install Kali Rolling 64-bit
pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.
... masuk ke VM ... host $ sudo lxc-console -n gnome
install JHBuild
$ sudo apt install git python make gnome-common yelp-tools autoconf automake $ git clone git://git.gnome.org/jhbuild $ cd jhbuild $ ./autogen.sh $ make; make install $ echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc ... logout dari VM lalu login lagi ... $ mkdir .config $ cp jhbuild/examples/sample.jhbuildrc .config/jhbuildrc ... edit jhbuildrc: ... hapus komentar di baris moduleset dan modules ... ubah isi moduleset menjadi [ 'gnome-world', 'gnome-apps-3.24' ] $ mkdir log
periksa kelengkapan paket
$ jhbuild sanitycheck $ sudo apt install apt-file cvs subversion flex bison docbook-xsl $ sudo apt-file update ... persiapan compile di-background ... $ sudo apt install screen links ... pasang paket-paket yang diperlukan ... $ jhbuild sysdeps --install ... grup 1 ... $ sudo apt install --no-install-recommends \ libdmapsharing-3.0-dev libatasmart-dev libflac-dev uuid-dev libxcb1-dev \ libtasn1-6-dev libfontconfig1-dev python3-cairo-dev libfreetype6-dev libgbm-dev libudev-dev \ libnl-route-3-dev libical-dev python3-dev libusb-1.0-0-dev libexempi-dev \ libcanberra-gtk3-dev libv4l-dev libx11-dev libgl1-mesa-dev libxi-dev libvpx-dev \ libxdamage-dev libxkbfile-dev libsbc-dev libxcomposite-dev libxslt1-dev libpinyin7-dev \ libgraphviz-dev libgudev-1.0-dev libxft-dev libsqlite3-dev libplymouth-dev libstartup-notification0-dev \ libtag1-dev libjson-c-dev libwavpack-dev libmtdev-dev libnss3-dev libxt-dev libgmime-2.6-dev \ libcanberra-gtk-dev libxtst-dev libpolkit-agent-1-dev libp11-kit-dev libavahi-gobject-dev libcairo2-dev \ libxext-dev libanthy-dev libxcb-dri2-0-dev libgtkspell3-3-dev xutils-dev libpwquality-dev x11proto-kb-dev \ libpolkit-gobject-1-dev xserver-xorg-input-wacom libxrender-dev libxklavier-dev libxfixes-dev \ libarchive-dev libspeex-dev libepoxy-dev libevdev-dev libdbus-glib-1-dev libexif-dev \ libmozjs-24-dev libxcb-xkb-dev libffi-dev libxml2-dev libpcre3-dev libegl1-mesa-dev libnl-genl-3-dev \ libxrandr-dev libgphoto2-dev libicu-dev libhangul-dev libdrm-dev libdotconf-dev libndp-dev liboauth-dev \ libdvdread-dev libasound2-dev liblcms2-dev libenchant-dev libsm-dev dbus-1-dbg libproxy-dev \ libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev ... grup 2 ... $ sudo apt install --no-install-recommends \ libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \ libbluetooth-dev libmagic-dev libxinerama-dev libpam0g-dev ragel ruby libgpgme11-dev libmpfr-dev \ gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland texinfo libacl1-dev libkrb5-dev \ libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \ ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \ libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \ libraw-dev libssh2-1-dev highlight spamassassin llvm libjasper-dev bogofilter libsasl2-dev wget \ libboost-dev gdb libwebkitgtk-3.0-dev valac docbook libreadline-dev libselinux1-dev \ sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell \ libgstreamer-plugins-base1.0-dev libwebkitgtk-3.0-dev libgnutls28-dev libnice-dev libjpeg62-turbo-dev \ libboost1.61-dev bogofilter-bdb libtiff5-dev llvm-3.6-dev libfwup-dev libsmbios-dev libtotem-dev ... grup 3 ... $ sudo apt install --no-install-recommends \ libcroco3-dev libunistring-dev libelf-dev ninja-build libmpc-dev libldap2-dev meson \ libkyotocabinet-dev libpulse-dev libgpgme-dev libgupnp-av-1.0-dev libgee-0.8-dev libmediaart-2.0-dev \ cargo gir1.2-gepub-0.4 ... reboot VM, login via lxc-console ... host $ sudo lxc-console -n gnome
coba build
... download repositori gnome ... $ jhbuild update ... persiapan build ... $ screen -S build ... build tanpa download repositori. bila ingin repositori dimutakhirkan, hapus opsi -n ... $ jhbuild tinderbox -n -o log ^a^a^d $ links log/index.html ... ^r untuk refresh, q untuk keluar, tunggu beberapa lama sampai proses build selesai ...
Bugfix Spesifik Kali Rolling
pango
error:
Making all in docs make[2]: Entering directory '~/.cache/jhbuild/build/pango/docs' cd ~/jhbuild/checkout/pango && /bin/bash ~/jhbuild/checkout/pango/missing automake-1.15 --gnits docs/Makefile automake-1.15: error: cannot open < gtk-doc.make: No such file or directory Makefile:683: recipe for target '~/jhbuild/checkout/pango/docs/Makefile.in' failed make[2]: *** [~/jhbuild/checkout/pango/docs/Makefile.in] Error 1 make[2]: Leaving directory '~/.cache/jhbuild/build/pango/docs' Makefile:581: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1
solusi: make distclean
accountservice
error:
Making all in libaccountsservice make[3]: Entering directory '~/.cache/jhbuild/build/accountsservice/doc/libaccountsservice' cd ~/jhbuild/checkout/accountsservice && /bin/bash ~/jhbuild/checkout/accountsservice/missing automake-1.15 --foreign doc/libaccountsservice/Makefile automake-1.15: error: cannot open < gtk-doc.make: No such file or directory Makefile:415: recipe for target '~/jhbuild/checkout/accountsservice/doc/libaccountsservice/Makefile.in' failed
solusi: make distclean
upower
error:
Making all in linux make[3]: Entering directory '~/jhbuild/checkout/upower/src/linux' CC libupshared_la-up-device-supply.lo CC libupshared_la-up-device-csr.lo CC libupshared_la-up-device-unifying.lo CC libupshared_la-up-device-hid.lo CC libupshared_la-up-device-wup.lo CC libupshared_la-up-input.lo CC libupshared_la-up-backend.lo CC libupshared_la-up-native.lo CC libupshared_la-hidpp-device.lo CC libupshared_la-sysfs-utils.lo CC hidpp_test-hidpp-device.o up-backend.c:30:29: fatal error: gio/gunixfdlist.h: No such file or directory #include <gio/gunixfdlist.h> ^ compilation terminated. Makefile:610: recipe for target 'libupshared_la-up-backend.lo' failed make[3]: *** [libupshared_la-up-backend.lo] Error 1
solusi:
- pastikan libglib2.0-dev telah terpasang
- buat symlink
$ cd /usr/include $ sudo ln -s gio-unix-2.0/gio .
mutter
ubah /bin/sh di autogen.sh menjadi /bin/bash
gnome-shell
error: tidak menemukan libmutter-cogl-0.so libmutter-cogl-pango-0.so libmutter-clutter-0.so
solusi:
$ cd ~/jhbuild/install/lib $ ln -s mutter/libmutter-clutter-0.so . $ ln -s mutter/libmutter-cogl-pango-0.so . $ ln -s mutter/libmutter-cogl-0.so .
rygel
...
gnome-initial-setup
error:
~/jhbuild/checkout/gnome-initial-setup/gnome-initial-setup/pages/timezone/gis-timezone-page.c:193:21: error: ‘GCLUE_ACCURACY_LEVEL_CITY’ undeclared (first use in this function)
solusi: tambahkan di file gnome-initial-setup/pages/timezone/gis-timezone-page.c
#include <gclue-simple.h> #include <gclue-client.h> #include <gclue-enums.h>
error:
make[6]: *** No rule to make target '~/jhbuild/checkout/gnome-initial-setup/gnome-initial-setup/pages/privacy/privacy-resources.c', needed by 'libgisprivacy_la-privacy-resources.lo'. Stop.
solusi: entahlah
baobab
error:
Making all in data make[2]: Entering directory '~/.cache/jhbuild/build/baobab/data' GEN org.gnome.baobab.gschema.valid GEN org.gnome.baobab.service org.gnome.baobab.gschema.xml:9:18 Error on line 9 char 18: Element <_summary> not allowed inside <key>. --strict was specified; exiting. Makefile:662: recipe for target 'org.gnome.baobab.gschema.valid' failed $ git blame org.gnome.baobab.gschema.xml.in ade56d07 data/org.gnome.baobab.gschema.xml.in (Stefano Facchini 2016-08-08 11:52:57 +0200 9) <summary>Excluded partitions URIs</summary>
gnome-calculator
error:
test-number.c: In function ‘test_integer’: test-number.c:145:14: error: too few arguments to function ‘number_new_integer’ _tmp4_ = number_new_integer ((gint64) _tmp3_);
valgrind
error:
make -j 4 echo "# This is a generated file, composed of the following suppression rules:" > default.supp auxprogs/make_or_upd_vgversion_h /bin/bash: auxprogs/make_or_upd_vgversion_h: No such file or directory Makefile:1375: recipe for target 'vgversion.h' failed make: *** [vgversion.h] Error 127
gnome-system-monitor
error:
make[3]: *** No rule to make target 'legacy/gsm-resources.o', needed by 'gnome-system-monitor'. Stop.
spice-gtk
error:
jhbuild/checkout/spice-gtk-0.33/src/bio-gio.c:27:16: error: field ‘method’ has incomplete type BIO_METHOD method;
libhttpseverywhere,folks,libgnome-games-support, gnome-sudoku, gitg
error:
make[1]: Entering directory '~/jhbuild/checkout/libgnome-games-support/games' VALAC libgnome_games_support_1_la_vala.stamp gee-0.8.vapi:278.3-278.31: error: overriding method `Gee.HashSet.foreach' is incompatible with base method `Gee.AbstractCollection.foreach': incompatible type of parameter 1. public override bool @foreach (Gee.ForallFunc f); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gee-0.8.vapi:278.3-278.31: error: Gee.HashSet.foreach: no suitable method found to override public override bool @foreach (Gee.ForallFunc f); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gee-0.8.vapi:368.3-368.31: error: overriding method `Gee.PriorityQueue.foreach' is incompatible with base method `Gee.AbstractCollection.foreach': incompatible type of parameter 1. public override bool @foreach (Gee.ForallFunc f); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gee-0.8.vapi:368.3-368.31: error: Gee.PriorityQueue.foreach: no suitable method found to override public override bool @foreach (Gee.ForallFunc f); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Compilation failed: 4 error(s), 0 warning(s) Makefile:671: recipe for target 'libgnome_games_support_1_la_vala.stamp' failed
Build Error Summary
*** the following modules were not built *** [168/168] rygel gnome-initial-setup meta-gnome-core-shell baobab libhttpseverywhere epiphany gnome-calculator folks gnome-contacts gnome-maps valgrind gnome-software gnome-system-monitor spice-gtk gnome-boxes meta-gnome-core-utilities meta-gnome-core libgnome-games-support gnome-klotski gnome-mines gnome-nibbles gnome-robots gnome-sudoku meta-gnome-games gitg gnome-code-assistance gnome-builder meta-gnome-apps-tested