Difference between revisions of "GNOME/Compile/3.20/Kali"
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...') |
|||
(23 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
=JHBuild step-by-step= |
=JHBuild step-by-step= |
||
* install Kali Linux versi kali- |
* install Kali Linux versi kali-rolling 64-bit; pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB. |
||
... di dalam VM ... |
|||
* install JHBuild |
* install JHBuild |
||
$ sudo apt |
$ sudo apt install git build-essential gnome-common yelp-tools |
||
$ git clone git://git.gnome.org/jhbuild |
$ git clone git://git.gnome.org/jhbuild |
||
$ cd jhbuild |
$ cd jhbuild |
||
Line 14: | Line 13: | ||
$ echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc |
$ echo 'PATH=$PATH:~/.local/bin' >> ~/.bashrc |
||
... logout dari VM lalu login lagi ... |
... logout dari VM lalu login lagi ... |
||
* jhbuild tahap pertama, periksa kesehatan awal |
|||
* periksa kelengkapan paket memakai JHBuild |
|||
$ jhbuild sanitycheck |
$ jhbuild sanitycheck |
||
$ sudo apt |
$ sudo apt install apt-file cvs subversion flex bison automake docbook-xsl |
||
... mestinya di tahap ini 'jhbuild sanitycheck' sudah lolos ... |
|||
$ jhbuild sanitycheck |
|||
* JHBuild tahap selanjutnya, periksa kelengkapan paket |
|||
$ sudo apt-file update |
$ sudo apt-file update |
||
... persiapan compile di-background ... |
... persiapan compile di-background ... |
||
$ sudo apt |
$ sudo apt install screen links |
||
* pasang paket-paket yang diperlukan - bagian pertama |
|||
$ jhbuild sysdeps --install |
$ jhbuild sysdeps --install |
||
$ sudo apt-get install --no-install-recommends \ |
$ sudo apt-get install --no-install-recommends \ |
||
xserver-xorg-input-wacom libnl-route-3-dev libatasmart-dev libcanberra-gtk3-dev libnspr4-dev \ |
|||
libdmapsharing-3.0-dev libxi-dev libdrm-dev libical-dev dbus-1-dbg libmusicbrainz5-dev \ |
|||
libevdev-dev libx11-dev libxrender-dev libffi-dev libpcre3-dev libwebkitgtk-3.0-dev \ |
|||
libxdamage-dev libcanberra-gtk-dev libxcomposite-dev libxklavier-dev libicu-dev \ |
|||
libpoppler-glib-dev libxext-dev libz-mingw-w64-dev libxt-dev libnl-genl-3-dev libxrandr-dev \ |
|||
libasound2-dev liboauth-dev libssl-dev libenchant-dev libpinyin7-dev libgphoto2-dev libndp-dev \ |
|||
libpng-dev libarchive-dev libavahi-gobject-dev libproxy-dev libxtst-dev libpwquality-dev \ |
|||
libgl1-mesa-dev libexiv2-dev libsndfile1-dev xutils-dev libssh2-1-dev libsystemd-dev \ |
|||
libusb-1.0-0-dev libexempi-dev libtasn1-6-dev libflac-dev libpolkit-gobject-1-dev \ |
|||
libxfixes-dev libudev-dev libfontconfig1-dev libanthy-dev python3-cairo-dev libfreetype6-dev \ |
|||
libraw-dev libgbm-dev libgmime-2.6-dev uuid-dev python3-dev libhangul-dev \ |
|||
libv4l-dev libgtkspell3-3-dev libpixman-1-dev libvirt-dev libgexiv2-dev libvpx-dev \ |
|||
libxkbfile-dev libsbc-dev libxml2-dev libxslt1-dev libsm-dev libxft-dev libsmbclient-dev \ |
|||
libepoxy-dev libgnutls28-dev libspeex-dev libgles2-mesa-dev liblcms2-dev libsqlite3-dev \ |
|||
libmtdev-dev libstartup-notification0-dev libmozjs-24-dev libtag1-dev libnl-3-dev \ |
|||
libgraphviz-dev libdvdread-dev libgudev-1.0-dev libwavpack-dev libcairo2-dev x11proto-kb-dev \ |
|||
libxcursor-dev libegl1-mesa-dev libdbus-glib-1-dev libp11-kit-dev libopus-dev libxcb1-dev \ |
|||
libxcb-dri2-0-dev libjson-c-dev libpolkit-agent-1-dev libdotconf-dev libplymouth-dev \ |
|||
libxcb-xkb-dev libnss3-dev libexif-dev x11proto-core-dev libwebkit2gtk-4.0-dev \ |
|||
libbluetooth-dev libnice-dev xtrans-dev bogofilter-bdb gdb libcap-dev xwayland libdb5.3-dev \ |
|||
libsasl2-dev libgcrypt20-dev xmlto libjasper-dev libjpeg62-turbo-dev cmake libcups2-dev llvm \ |
|||
doxygen docbook-utils ppp-dev argyll libmagic-dev ragel libreadline6-dev libboost1.58-dev \ |
|||
libyaml-dev libwebp-dev spamassassin libespeak-dev libgpgme11-dev libmpfr-dev gperf highlight \ |
|||
libxinerama-dev libhyphen-dev libiw-dev libpam0g-dev libacl1-dev heimdal-dev |
|||
* pasang paket-paket yang diperlukan - bagian kedua, tidak terdeteksi oleh 'jhbuild sysdeps' |
|||
$ jhbuild sysdeps --install |
|||
$ sudo apt-get install --no-install-recommends \ |
$ sudo apt-get install --no-install-recommends \ |
||
llvm-3.8-dev libtiff5-dev valac docutils-common docbook libselinux1-dev sqlite3 python-gi \ |
|||
libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \ |
|||
uuid-runtime texinfo 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 \ |
|||
... dari daftar paket kebutuhan compile di Ubuntu, mungkin juga diperlukan di Kali ... |
|||
libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \ |
|||
emscripten libgnutls-dev ruby iptables libkrb5-dev \ |
|||
libjpeg-turbo8-dev ppp-dev xmlto doxygen cmake libespeak-dev libsystemd-dev libtiff-dev libpoppler-dev \ |
|||
libjpeg-turbo8-dev libtiff-dev libpoppler-dev libboost-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 \ |
|||
* atur konfigurasi JHBuild |
|||
⚫ | |||
... '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 |
$ mkdir .config |
||
$ cp jhbuild/examples/sample.jhbuildrc .config/jhbuildrc |
$ cp jhbuild/examples/sample.jhbuildrc .config/jhbuildrc |
||
Line 60: | Line 67: | ||
... ubah isi moduleset menjadi 'gnome-apps-3.20' |
... ubah isi moduleset menjadi 'gnome-apps-3.20' |
||
$ mkdir log |
$ 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 |
* coba build |
||
... download repositori gnome ... |
... download repositori gnome ... |
||
Line 108: | Line 111: | ||
$ patch -p1 < gtk-foo.patch |
$ patch -p1 < gtk-foo.patch |
||
$ jhbuild buildone gtk+ |
$ 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 11:41, 23 July 2016
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.
Pada dokumen ini, diuraikan cara membangun GNOME versi 3.20 di atas distro Kali Linux
JHBuild step-by-step
- install Kali Linux versi kali-rolling 64-bit; pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.
- install JHBuild
$ sudo apt install git build-essential gnome-common yelp-tools $ 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 ...
- jhbuild tahap pertama, periksa kesehatan awal
$ jhbuild sanitycheck $ sudo apt install apt-file cvs subversion flex bison automake docbook-xsl ... mestinya di tahap ini 'jhbuild sanitycheck' sudah lolos ... $ jhbuild sanitycheck
- JHBuild tahap selanjutnya, periksa kelengkapan paket
$ sudo apt-file update ... persiapan compile di-background ... $ sudo apt install screen links
- pasang paket-paket yang diperlukan - bagian pertama
$ jhbuild sysdeps --install $ sudo apt-get install --no-install-recommends \ xserver-xorg-input-wacom libnl-route-3-dev libatasmart-dev libcanberra-gtk3-dev libnspr4-dev \ libdmapsharing-3.0-dev libxi-dev libdrm-dev libical-dev dbus-1-dbg libmusicbrainz5-dev \ libevdev-dev libx11-dev libxrender-dev libffi-dev libpcre3-dev libwebkitgtk-3.0-dev \ libxdamage-dev libcanberra-gtk-dev libxcomposite-dev libxklavier-dev libicu-dev \ libpoppler-glib-dev libxext-dev libz-mingw-w64-dev libxt-dev libnl-genl-3-dev libxrandr-dev \ libasound2-dev liboauth-dev libssl-dev libenchant-dev libpinyin7-dev libgphoto2-dev libndp-dev \ libpng-dev libarchive-dev libavahi-gobject-dev libproxy-dev libxtst-dev libpwquality-dev \ libgl1-mesa-dev libexiv2-dev libsndfile1-dev xutils-dev libssh2-1-dev libsystemd-dev \ libusb-1.0-0-dev libexempi-dev libtasn1-6-dev libflac-dev libpolkit-gobject-1-dev \ libxfixes-dev libudev-dev libfontconfig1-dev libanthy-dev python3-cairo-dev libfreetype6-dev \ libraw-dev libgbm-dev libgmime-2.6-dev uuid-dev python3-dev libhangul-dev \ libv4l-dev libgtkspell3-3-dev libpixman-1-dev libvirt-dev libgexiv2-dev libvpx-dev \ libxkbfile-dev libsbc-dev libxml2-dev libxslt1-dev libsm-dev libxft-dev libsmbclient-dev \ libepoxy-dev libgnutls28-dev libspeex-dev libgles2-mesa-dev liblcms2-dev libsqlite3-dev \ libmtdev-dev libstartup-notification0-dev libmozjs-24-dev libtag1-dev libnl-3-dev \ libgraphviz-dev libdvdread-dev libgudev-1.0-dev libwavpack-dev libcairo2-dev x11proto-kb-dev \ libxcursor-dev libegl1-mesa-dev libdbus-glib-1-dev libp11-kit-dev libopus-dev libxcb1-dev \ libxcb-dri2-0-dev libjson-c-dev libpolkit-agent-1-dev libdotconf-dev libplymouth-dev \ libxcb-xkb-dev libnss3-dev libexif-dev x11proto-core-dev libwebkit2gtk-4.0-dev \ libbluetooth-dev libnice-dev xtrans-dev bogofilter-bdb gdb libcap-dev xwayland libdb5.3-dev \ libsasl2-dev libgcrypt20-dev xmlto libjasper-dev libjpeg62-turbo-dev cmake libcups2-dev llvm \ doxygen docbook-utils ppp-dev argyll libmagic-dev ragel libreadline6-dev libboost1.58-dev \ libyaml-dev libwebp-dev spamassassin libespeak-dev libgpgme11-dev libmpfr-dev gperf highlight \ libxinerama-dev libhyphen-dev libiw-dev libpam0g-dev libacl1-dev heimdal-dev
- pasang paket-paket yang diperlukan - bagian kedua, tidak terdeteksi oleh 'jhbuild sysdeps'
$ jhbuild sysdeps --install $ sudo apt-get install --no-install-recommends \ llvm-3.8-dev libtiff5-dev valac docutils-common docbook libselinux1-dev sqlite3 python-gi \ uuid-runtime texinfo gtk-doc-tools
... dari daftar paket kebutuhan compile di Ubuntu, mungkin juga diperlukan di Kali ... emscripten libgnutls-dev ruby iptables libkrb5-dev \ libjpeg-turbo8-dev libtiff-dev libpoppler-dev libboost-dev \ sqlite desktop-file-utils libtext-csv-perl gnome-shell
- atur konfigurasi JHBuild
$ 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
- 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+