Difference between revisions of "Compile GNOME 3.20"
Jump to navigation
Jump to search
(←Membuat halaman berisi 'Untuk memeriksa hasil terjemahan suatu aplikas GNOME, salah satu cara adalah dengan mengcompile aplikasi tersebut setelah terjemahan terbarunya kita pasang. GNOME memi...') |
m (←Mengalihkan ke GNOME/Compile/3.20) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
#ALIH [[GNOME/Compile/3.20]] |
|||
Untuk memeriksa hasil terjemahan suatu aplikas GNOME, salah satu cara adalah dengan mengcompile aplikasi tersebut setelah terjemahan terbarunya kita pasang. GNOME memiliki aplikasi [https://developer.gnome.org/jhbuild/ jhbuild] untuk membantu kita melakukan compile. |
|||
=JHBuild step-by-step= |
|||
* install Ubuntu Xenial 64-bit; pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB. |
|||
host $ sudo lxc-create -n gnome -t ubuntu -- -r xenial -a amd64 \ |
|||
--mirror http://kambing.ui.ac.id/ubuntu --security-mirror http://kambing.ui.ac.id/ubuntu |
|||
host $ sudo lxc-start -d -n gnome |
|||
host $ sudo lxc-attach -n gnome |
|||
... di dalam VM ... |
|||
* install JHBuild |
|||
$ sudo apt-get 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 ... |
|||
* periksa kelengkapan paket memakai JHBuild |
|||
$ jhbuild sanitycheck |
|||
$ sudo apt-get install apt-file cvs subversion flex bison docbook-xsl |
|||
$ sudo apt-file update |
|||
... persiapan compile di-background ... |
|||
$ sudo apt-get install screen links |
|||
... pasang paket-paket yang diperlukan ... |
|||
$ jhbuild sysdeps --install |
|||
$ sudo apt-get 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 emscripten libexempi-dev \ |
|||
libcanberra-gtk3-dev libv4l-dev libx11-dev libgl1-mesa-dev emscripten libxi-dev libvpx-dev \ |
|||
libxdamage-dev libxkbfile-dev libgnutls-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 emscripten 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 emscripten dbus-1-dbg libproxy-dev \ |
|||
libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev |
|||
$ sudo apt-get 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 \ |
|||
libjpeg-turbo8-dev ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \ |
|||
emscripten 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 llvm-3.8-dev valac docbook libreadline-dev libselinux1-dev \ |
|||
sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell |
|||
... 'forward port' dari wily karena beberapa paket belum ada di xenial ... |
|||
$ URL=http://kambing.ui.ac.id/ubuntu/pool/main/s/systemd/libsystemd- |
|||
$ wget ${URL}daemon-dev_225-1ubuntu9.1_amd64.deb |
|||
$ wget ${URL}journal-dev_219-7ubuntu6_amd64.deb |
|||
$ wget ${URL}login-dev_225-1ubuntu9_amd64.deb |
|||
$ sudo dpkg -i lib*.deb |
|||
$ mkdir .config |
|||
$ cp jhbuild/examples/sample.jhbuildrc .config/jhbuildrc |
|||
... edit jhbuildrc: |
|||
... hapus komentar di baris moduleset dan modules |
|||
... ubah isi moduleset menjadi 'gnome-apps-3.20' |
|||
$ mkdir log |
|||
... ganti systemd dengan upstart, systemd dan lxc tidak bersahabat ... |
|||
$ sudo apt-get install upstart-sysv |
|||
... 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 Ubuntu Xenial= |
|||
* Bugfix untuk gnome-photos |
|||
$ mkdir src; cd src |
|||
... edit sources.list agar memuat sumber ... |
|||
$ sudo apt-get update |
|||
$ apt-get source libpng16-dev |
|||
$ cd libpng1.6* |
|||
$ ./configure |
|||
$ make |
|||
$ sudo make install |
|||
$ jhbuild buildone gnome-photos |
|||
* Bugfix untuk nemiver |
|||
$ jhbuild buildone nemiver |
|||
... pilih 4 untuk ke shell ... |
|||
$ wget https://bug763840.bugzilla-attachments.gnome.org/attachment.cgi?id=324220 -O nemiver-foo.patch |
|||
$ patch -p1 < nemiver-foo.patch |
|||
$ exit |
|||
... lanjutkan build ... |
|||
* Bugfix untuk pulseaudio; bug(?) ini akibat dari commit aa02e1654bcdfa0677e19ab9bb27b44dc8bf26b9; belum diketahui fix yang proper; sebagai solusi temporer (hanya supaya build sukses) adalah: |
|||
$ cd ~/jhbuild/checkout/pulseaudio |
|||
$ wget http://tempel.blankon.in/1897942?download -O pulseaudio-foo.patch |
|||
$ patch -p1 < pulseaudio-foo.patch |
|||
$ jhbuild buildone pulseaudio |
|||
* Bugfix untuk evolution |
|||
$ cd ~/jhbuild/checkout/evolution |
|||
$ wget http://tempel.blankon.in/1900068?download -O evolution-foo.patch |
|||
$ patch -p1 < evolution-foo.patch |
|||
$ jhbuild buildone evolution |
|||
* Bugfix untuk gtk+ |
|||
$ cd ~/jhbuild/checkout/gtk+ |
|||
$ wget http://tempel.blankon.in/1926146?download -O gtk-foo.patch |
|||
$ patch -p1 < gtk-foo.patch |
|||
$ jhbuild buildone gtk+ |
|||
=Troubleshooting proses kompilasi gagal= |
|||
Seringkali, gagal compile terjadi karena paket yang diperlukan belum terpasang. Tangkapan layar berikut menampilkan langkah troubleshooting memakai '''apt-file''' yang seringkali mengatasi masalah tersebut secara cepat |
|||
<nowiki>Required packages: |
|||
System installed packages which are too old: |
|||
(none) |
|||
No matching system package installed: |
|||
llvm |
|||
opus (opus.pc, required=1.0) |
|||
WebKit1 (webkitgtk-3.0.pc, required=2.0.0) |
|||
highlight |
|||
gexiv2 (gexiv2.pc) |
|||
openssl (libcrypto.pc) |
|||
libjasper |
|||
spamassassin |
|||
cyrus-sasl |
|||
libvirt (libvirt.pc, required=1.0.6) |
|||
libraw (libraw.pc) |
|||
bogofilter |
|||
wget |
|||
libssh2 (libssh2.pc) |
|||
boost (required=1.33.1) |
|||
gdb |
|||
Optional packages: (JHBuild will build the missing packages) |
|||
System installed packages which are too old: |
|||
WebKit (webkit2gtk-4.0.pc, required=2.12.0, installed=2.10.9) |
|||
No matching system package installed: |
|||
libnice (nice.pc, required=0.1.8) |
|||
$ apt-file search opus.pc |
|||
libopus-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/opus.pc |
|||
$ apt-file search gexiv2.pc |
|||
libgexiv2-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/gexiv2.pc |
|||
$ apt-file search libcrypto.pc |
|||
libssl-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libcrypto.pc |
|||
$ apt-file search libvirt.pc |
|||
libvirt-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libvirt.pc |
|||
$ apt-file search libraw.pc |
|||
libraw-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libraw.pc |
|||
$ apt-file search libssh2.pc |
|||
libssh2-1-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libssh2.pc |
|||
$ sudo apt-get install libopus-dev libgexiv2-dev libssl-dev libvirt-dev libraw-dev libssh2-1-dev</nowiki> |
Latest revision as of 07:55, 14 July 2016
- ALIH GNOME/Compile/3.20