Difference between revisions of "GNOME/Compile/3.18"

From i14i
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
 
(42 intermediate revisions by the same user not shown)
Line 5: Line 5:
... di dalam VM ...
... di dalam VM ...
* install JHBuild
* install JHBuild
$ sudo apt-get install git python make gnome-common yelp-tools autoconf automake
$ sudo apt install git python make gnome-common yelp-tools autoconf automake
$ git clone git://git.gnome.org/jhbuild
$ git clone git://git.gnome.org/jhbuild
$ cd jhbuild
$ cd jhbuild
Line 14: Line 14:
* periksa kelengkapan paket memakai JHBuild
* periksa kelengkapan paket memakai JHBuild
$ jhbuild sanitycheck
$ jhbuild sanitycheck
$ sudo apt-get install apt-file cvs subversion flex bison docbook-xsl
$ sudo apt install apt-file cvs subversion flex bison docbook-xsl
$ sudo apt-file update
$ sudo apt-file update
... persiapan compile di-background ...
... persiapan compile di-background ...
$ sudo apt-get install screen links
$ sudo apt install screen links
$ 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.18' ]
... pasang paket-paket yang diperlukan ...
... pasang paket-paket yang diperlukan ...
$ jhbuild sysdeps --install
$ jhbuild sysdeps --install
$ sudo apt-get install --no-install-recommends \
$ sudo apt install --no-install-recommends \
libdmapsharing-3.0-dev libatasmart-dev libflac-dev uuid-dev libxcb1-dev \
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 \
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 \
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 \
libcanberra-gtk3-dev libv4l-dev libx11-dev libgl1-mesa-dev libxi-dev libvpx-dev \
libxdamage-dev libxkbfile-dev libgnutls-dev libsbc-dev libxcomposite-dev libxslt1-dev libpinyin7-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 \
libgraphviz-dev libgudev-1.0-dev libxft-dev libsqlite3-dev libplymouth-dev libstartup-notification0-dev \
Line 31: Line 36:
libxext-dev libanthy-dev libxcb-dri2-0-dev libgtkspell3-3-dev xutils-dev libpwquality-dev x11proto-kb-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 \
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 \
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 \
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 \
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 \
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
libxcursor-dev libnl-3-dev libexiv2-dev libsndfile1-dev libsmbclient-dev libsystemd-dev
$ sudo apt-get install --no-install-recommends \
$ sudo apt-get install --no-install-recommends \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev x11proto-core-dev xtrans-dev gtk-doc-tools \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev gtk-doc-tools libbluetooth-dev libmagic-dev libpam0g-dev ragel \
libbluetooth-dev libmagic-dev libxinerama-dev libpam0g-dev ragel ruby libgpgme11-dev libmpfr-dev \
ruby libgpgme11-dev libmpfr-dev gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland \
gperf libyaml-dev libwebp-dev libhyphen-dev iptables argyll xwayland texinfo libacl1-dev libkrb5-dev \
texinfo libacl1-dev libkrb5-dev libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev \
libiw-dev docbook-utils libcap-dev libdb5.3-dev libcups2-dev libgcrypt20-dev \
libgcrypt20-dev libjpeg-turbo8-dev ppp-dev xmlto doxygen cmake libespeak-dev libtiff5-dev libpoppler-dev \
libjpeg-turbo8-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 \
emscripten libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \
libraw-dev libssh2-1-dev highlight spamassassin libjasper-dev bogofilter libsasl2-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 \
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
sqlite python-gi uuid-runtime desktop-file-utils libtext-csv-perl sqlite3 gnome-shell
$ sudo apt install --no-install-recommends \
dleyna-renderer x11proto-bigreqs-dev libxcb-keysyms1-dev x11proto-resource-dev x11proto-scrnsaver-dev \
x11proto-xcmisc-dev x11proto-video-dev x11proto-present-dev libxfont-dev x11proto-xf86dri-dev \
libpciaccess-dev libglu1-mesa-dev libpython2.7-dev libnice-dev libcrack2-dev raptor-utils python-rdflib \
libgirepository1.0-dev python-dev libjson-glib-dev xfonts-utils libvte-2.91-dev libgc-dev libunistring-dev
... 'forward port' dari wily karena beberapa paket belum ada di xenial ...
... 'forward port' dari wily karena beberapa paket belum ada di xenial ...
$ URL=http://kambing.ui.ac.id/ubuntu/pool/main/s/systemd/libsystemd-
$ URL=http://kambing.ui.ac.id/ubuntu/pool/main/s/systemd/libsystemd-
Line 52: Line 61:
$ wget ${URL}login-dev_225-1ubuntu9_amd64.deb
$ wget ${URL}login-dev_225-1ubuntu9_amd64.deb
$ sudo dpkg -i lib*.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.18'
$ mkdir log
$ mkdir log
... ganti systemd dengan upstart, systemd dan lxc tidak bersahabat ...
... ganti systemd dengan upstart, systemd dan lxc tidak bersahabat ...
Line 74: Line 78:


=Bugfix Spesifik Ubuntu Xenial=
=Bugfix Spesifik Ubuntu Xenial=
==glib==
* Bugfix untuk gnome-photos
error:
$ mkdir src; cd src
<pre>
... edit sources.list agar memuat sumber ...
*** Configuring glib *** [6/245]
$ sudo apt-get update
/home/vagrant/jhbuild/checkout/glib/autogen.sh --prefix /home/vagrant/jhbuild/install --disable-Werror \
$ apt-get source libpng16-dev
--enable-installed-tests --disable-static --disable-gtk-doc
$ cd libpng1.6*
autoreconf: Entering directory `.'
$ ./configure
autoreconf: configure.ac: not using Gettext
$ make
autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS}
$ sudo make install
m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
$ jhbuild buildone gnome-photos
m4macros/glib-gettext.m4:39: the top level
* Bugfix untuk nemiver
autom4te: /usr/bin/m4 failed with exit status: 1
$ jhbuild buildone nemiver
aclocal: error: echo failed with exit status: 1
... pilih 4 untuk ke shell ...
autoreconf: aclocal failed with exit status: 1
$ wget https://bug763840.bugzilla-attachments.gnome.org/attachment.cgi?id=324220 -O nemiver-foo.patch
</pre>
$ patch -p1 < nemiver-foo.patch
solusi:
$ exit
$ cd /usr/share/aclocal
... lanjutkan build ...
$ sudo mv glib-gettext.m4 glib-gettext.m4.bad
* 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
==librsvg==
$ wget http://tempel.blankon.in/1897942?download -O pulseaudio-foo.patch
error:
$ patch -p1 < pulseaudio-foo.patch
<pre>
$ jhbuild buildone pulseaudio
Makefile.am:217: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
* Bugfix untuk evolution
Makefile.am:296: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
$ cd ~/jhbuild/checkout/evolution
Makefile.am: installing './depcomp'
$ wget http://tempel.blankon.in/1900068?download -O evolution-foo.patch
build/win32/Makefile.am:8: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
$ patch -p1 < evolution-foo.patch
tests/Makefile.am:27: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
$ jhbuild buildone evolution
parallel-tests: installing './test-driver'
* Bugfix untuk gtk+
tools/Makefile.am:10: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
$ cd ~/jhbuild/checkout/gtk+
autoreconf: automake failed with exit status: 1
$ wget http://tempel.blankon.in/1926146?download -O gtk-foo.patch
</pre>
$ patch -p1 < gtk-foo.patch
solusi:
$ jhbuild buildone gtk+
idem di atas?

==gsettings-desktop-schema==
error:
<pre>
Running intltoolize...
Running autoreconf...
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force --warnings=no-portability -I m4 ${ACLOCAL_FLAGS}
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4:39:
error: m4_copy: won't overwrite defined macro: glib_DEFUN
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4:39: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1
</pre>
solusi:
idem di atas?

==geoclue==
error:
<pre>
configure.ac:13: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:14: error: possibly undefined macro: AM_MAINTAINER_MODE
configure.ac:16: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:22: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:23: error: possibly undefined macro: AM_PROG_AR
configure.ac:84: error: possibly undefined macro: AM_CONDITIONAL
autoreconf: /usr/bin/autoconf failed with exit status: 1
</pre>
solusi: [https://bbs.archlinux.org/viewtopic.php?id=161452]
$ libtoolize --force
$ aclocal
$ autoheader
$ automake --force-missing --add-missing
$ autoconf

==upower==
error:
some *.h files not exist
solusi:
cp dbus/*.{c,h,la,lo} ~/jhbuild/checkout/upower/dbus

==ibus-libpinyin==
error:
<pre>
CXX ibus_engine_libpinyin-PYMain.o
In file included from PYConfig.cc:21:0:
PYConfig.h:61:5: error: ‘ChewingScheme’ does not name a type
ChewingScheme bopomofoKeyboardMapping (void) const { return m_bopomofo_keyboard_mapping; }
^
PYConfig.h:115:5: error: ‘ChewingScheme’ does not name a type
ChewingScheme m_bopomofo_keyboard_mapping;
^
Makefile:740: recipe for target 'ibus_engine_libpinyin-PYConfig.o' failed
make[3]: *** [ibus_engine_libpinyin-PYConfig.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from PYMain.cc:31:0:
PYConfig.h:61:5: error: ‘ChewingScheme’ does not name a type
ChewingScheme bopomofoKeyboardMapping (void) const { return m_bopomofo_keyboard_mapping; }
^
PYConfig.h:115:5: error: ‘ChewingScheme’ does not name a type
ChewingScheme m_bopomofo_keyboard_mapping;
^
</pre>
solusi:
??
versi header file pinyin_custom2.h obsolete?

==gnome-clocks==
* [[GNOME/Compile/Troubleshoot#Direktori_kerja_kosong|direktori kerja kosong]]
* salah branch, pindah saja ke gnome-3-18
-> bugreport dengan attachment
<pre>
diff --git a/modulesets/gnome-apps-3.18.modules b/modulesets/gnome-apps-3.18.modules
index b686d14..dd55c09 100644
--- a/modulesets/gnome-apps-3.18.modules
+++ b/modulesets/gnome-apps-3.18.modules
@@ -785,7 +785,7 @@
</autotools>
<autotools id="gnome-clocks">
- <branch/>
+ <branch revision="gnome-3-18"/>
<dependencies>
<dep package="vala"/>
<dep package="gtk+"/>
</pre>

==gnome-chess==
* [[GNOME/Compile/Troubleshoot#Direktori_kerja_kosong|direktori kerja kosong]]

==gnome-calendar==
* [[GNOME/Compile/Troubleshoot#Direktori_kerja_kosong|direktori kerja kosong]]

==gnome-online-miners==
error:
<pre>
configure: error: Package requirements (grilo-0.3 >= 0.3.0) were not met:

No package 'grilo-0.3' found
</pre>
solusi:
* [[GNOME/Compile/Troubleshoot#Direktori_kerja_kosong|direktori kerja kosong]] (?)
* salah branch, checkout tags/3.14.3
==gnome-software==
error:
<pre>
gs-plugin-appstream.c:54:1: error: static declaration of ‘as_app_has_compulsory_for_desktop’ follows non-static declaration
as_app_has_compulsory_for_desktop (AsApp *app, const gchar *compulsory_for_desktop)
^
</pre>
solusi:


==gnome-contacts==
=Troubleshooting proses kompilasi gagal=
salah branch
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
<pre>
<nowiki>Required packages:
diff --git a/modulesets/gnome-suites-core-3.18.modules b/modulesets/gnome-suites-core-3.18.modules
System installed packages which are too old:
index e78ac42..1c4c702 100644
(none)
--- a/modulesets/gnome-suites-core-3.18.modules
No matching system package installed:
+++ b/modulesets/gnome-suites-core-3.18.modules
llvm
@@ -660,7 +660,7 @@
opus (opus.pc, required=1.0)
</autotools>
WebKit1 (webkitgtk-3.0.pc, required=2.0.0)
highlight
<autotools id="gnome-contacts">
gexiv2 (gexiv2.pc)
- <branch/>
openssl (libcrypto.pc)
+ <branch revision="tags/gnome-3-18"/>
libjasper
<dependencies>
spamassassin
<dep package="folks"/>
cyrus-sasl
<dep package="glib"/>
libvirt (libvirt.pc, required=1.0.6)
</pre>
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:47, 6 August 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.

JHBuild step-by-step

  • install Ubuntu Xenial 64-bit; pastikan bahwa Anda memiliki free space di disk paling tidak 40 GB.
... di dalam VM ...
  • 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 ...
  • periksa kelengkapan paket memakai JHBuild
$ 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
$ 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.18' ]
... pasang paket-paket yang diperlukan ...
$ jhbuild sysdeps --install
$ 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 emscripten libexempi-dev \
libcanberra-gtk3-dev libv4l-dev libx11-dev libgl1-mesa-dev 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 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
$ sudo apt-get install --no-install-recommends \
libmusicbrainz5-dev libwebkit2gtk-4.0-dev gtk-doc-tools libbluetooth-dev libmagic-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 libtiff5-dev libpoppler-dev \
libgles2-mesa-dev libpoppler-glib-dev libopus-dev libgexiv2-dev libssl-dev libvirt-dev \
libraw-dev libssh2-1-dev highlight spamassassin libjasper-dev bogofilter libsasl2-dev \
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
$ sudo apt install --no-install-recommends \
dleyna-renderer x11proto-bigreqs-dev libxcb-keysyms1-dev x11proto-resource-dev x11proto-scrnsaver-dev \
x11proto-xcmisc-dev x11proto-video-dev x11proto-present-dev libxfont-dev x11proto-xf86dri-dev \
libpciaccess-dev libglu1-mesa-dev libpython2.7-dev libnice-dev libcrack2-dev raptor-utils python-rdflib \
libgirepository1.0-dev python-dev libjson-glib-dev xfonts-utils libvte-2.91-dev libgc-dev libunistring-dev
... '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 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

glib

error:

*** Configuring glib *** [6/245]
/home/vagrant/jhbuild/checkout/glib/autogen.sh --prefix /home/vagrant/jhbuild/install --disable-Werror \
--enable-installed-tests --disable-static --disable-gtk-doc 
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS}
m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
m4macros/glib-gettext.m4:39: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

solusi:

$ cd /usr/share/aclocal
$ sudo mv glib-gettext.m4 glib-gettext.m4.bad

librsvg

error:

Makefile.am:217: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
Makefile.am:296: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
Makefile.am: installing './depcomp'
build/win32/Makefile.am:8: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
tests/Makefile.am:27: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
parallel-tests: installing './test-driver'
tools/Makefile.am:10: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
autoreconf: automake failed with exit status: 1

solusi:

idem di atas?

gsettings-desktop-schema

error:

Running intltoolize...
Running autoreconf...
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force --warnings=no-portability -I m4 ${ACLOCAL_FLAGS}
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4:39: 
  error: m4_copy: won't overwrite defined macro: glib_DEFUN
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4:39: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

solusi:

idem di atas?

geoclue

error:

configure.ac:13: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:14: error: possibly undefined macro: AM_MAINTAINER_MODE
configure.ac:16: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:22: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:23: error: possibly undefined macro: AM_PROG_AR
configure.ac:84: error: possibly undefined macro: AM_CONDITIONAL
autoreconf: /usr/bin/autoconf failed with exit status: 1

solusi: [1]

$ libtoolize --force
$ aclocal
$ autoheader
$ automake --force-missing --add-missing
$ autoconf

upower

error:

some *.h files not exist

solusi:

cp dbus/*.{c,h,la,lo} ~/jhbuild/checkout/upower/dbus

ibus-libpinyin

error:

   CXX      ibus_engine_libpinyin-PYMain.o
In file included from PYConfig.cc:21:0:
PYConfig.h:61:5: error: ‘ChewingScheme’ does not name a type
     ChewingScheme bopomofoKeyboardMapping (void) const   { return m_bopomofo_keyboard_mapping; }
     ^
PYConfig.h:115:5: error: ‘ChewingScheme’ does not name a type
     ChewingScheme m_bopomofo_keyboard_mapping;
     ^
Makefile:740: recipe for target 'ibus_engine_libpinyin-PYConfig.o' failed
make[3]: *** [ibus_engine_libpinyin-PYConfig.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from PYMain.cc:31:0:
PYConfig.h:61:5: error: ‘ChewingScheme’ does not name a type
     ChewingScheme bopomofoKeyboardMapping (void) const   { return m_bopomofo_keyboard_mapping; }
     ^
PYConfig.h:115:5: error: ‘ChewingScheme’ does not name a type
     ChewingScheme m_bopomofo_keyboard_mapping;
     ^

solusi:

??
versi header file pinyin_custom2.h obsolete?

gnome-clocks

 -> bugreport dengan attachment
diff --git a/modulesets/gnome-apps-3.18.modules b/modulesets/gnome-apps-3.18.modules
index b686d14..dd55c09 100644
--- a/modulesets/gnome-apps-3.18.modules
+++ b/modulesets/gnome-apps-3.18.modules
@@ -785,7 +785,7 @@
   </autotools>
 
   <autotools id="gnome-clocks">
-    <branch/>
+    <branch revision="gnome-3-18"/>
     <dependencies>
       <dep package="vala"/>
       <dep package="gtk+"/>

gnome-chess

gnome-calendar

gnome-online-miners

error:

configure: error: Package requirements (grilo-0.3 >= 0.3.0) were not met:

No package 'grilo-0.3' found

solusi:

gnome-software

error:

gs-plugin-appstream.c:54:1: error: static declaration of ‘as_app_has_compulsory_for_desktop’ follows non-static declaration
 as_app_has_compulsory_for_desktop (AsApp *app, const gchar *compulsory_for_desktop)
 ^

solusi:

gnome-contacts

salah branch

diff --git a/modulesets/gnome-suites-core-3.18.modules b/modulesets/gnome-suites-core-3.18.modules
index e78ac42..1c4c702 100644
--- a/modulesets/gnome-suites-core-3.18.modules
+++ b/modulesets/gnome-suites-core-3.18.modules
@@ -660,7 +660,7 @@
   </autotools>
 
   <autotools id="gnome-contacts">
-    <branch/>
+    <branch revision="tags/gnome-3-18"/>
     <dependencies>
       <dep package="folks"/>
       <dep package="glib"/>