Difference between revisions of "GNOME/Compile/3.20"

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...')
 
 
(12 intermediate revisions by the same user not shown)
Line 18: Line 18:
... persiapan compile di-background ...
... persiapan compile di-background ...
$ sudo apt-get install screen links
$ sudo apt-get install screen links
* siapkan 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-world','gnome-apps-3.20' ]
... pasang paket-paket yang diperlukan ...
... pasang paket-paket yang diperlukan ...
$ jhbuild sysdeps --install
$ jhbuild sysdeps --install
Line 45: Line 51:
libraw-dev libssh2-1-dev highlight spamassassin llvm libjasper-dev bogofilter libsasl2-dev wget \
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 librest-dev \
libjansson-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 59:
$ 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.20'
$ 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 76:


=Bugfix Spesifik Ubuntu Xenial=
=Bugfix Spesifik Ubuntu Xenial=
==gstreamer==
* Bugfix untuk gnome-photos
error:
<pre>
GEN GstBase-1.0.gir
g-ir-scanner: link: /bin/bash ../../../libtool --mode=link --tag=CC x86_64-linux-gnu-gcc -pthread -o /home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0 -export-dynamic -L/home/vagrant/jhbuild/install/lib tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o -L. libgstbase-1.0.la -L../../../gst -L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs -L/home/vagrant/jhbuild/install/lib -lgio-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
libtool: link: x86_64-linux-gnu-gcc -pthread -o /home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/.libs/GstBase-1.0 tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -L/home/vagrant/jhbuild/install/lib -L. ./.libs/libgstbase-1.0.so -L../../../gst -L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs -lgio-2.0 -lgmodule-2.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -pthread -Wl,-rpath -Wl,/home/vagrant/jhbuild/install/lib
./.libs/libgstbase-1.0.so: undefined reference to `gst_segment_position_from_running_time'
collect2: error: ld returned 1 exit status
linking of temporary binary failed: Command '['/bin/bash', '../../../libtool', '--mode=link', '--tag=CC', 'x86_64-linux-gnu-gcc', '-pthread', '-o', '/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0', '-export-dynamic', '-L/home/vagrant/jhbuild/install/lib', 'tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o', '-L.', 'libgstbase-1.0.la', '-L../../../gst', '-L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs', '-L/home/vagrant/jhbuild/install/lib', '-lgio-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lgstreamer-1.0', '-lgobject-2.0', '-lglib-2.0']' returned non-zero exit status 1
Makefile:1126: recipe for target 'GstBase-1.0.gir' failed
make[4]: *** [GstBase-1.0.gir] Error 1
make[4]: Leaving directory '/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base'
</pre>
solusi:
versi libgstbase-1.0.so obsolete, masih gagal setelah distclean ...

==libsecret==
salah branch
tags/0.18.4
==libuhttpmock==
salah branch
tags/0.5.0

==gnome-photos==
$ mkdir src; cd src
$ mkdir src; cd src
... edit sources.list agar memuat sumber ...
... edit sources.list agar memuat sumber ...
Line 84: Line 109:
$ sudo make install
$ sudo make install
$ jhbuild buildone gnome-photos
$ jhbuild buildone gnome-photos
* Bugfix untuk nemiver
==nemiver==
$ jhbuild buildone nemiver
$ jhbuild buildone nemiver
... pilih 4 untuk ke shell ...
... pilih 4 untuk ke shell ...
Line 91: Line 116:
$ exit
$ exit
... lanjutkan build ...
... lanjutkan build ...
==pulseaudio==
* Bugfix untuk pulseaudio; bug(?) ini akibat dari commit aa02e1654bcdfa0677e19ab9bb27b44dc8bf26b9; belum diketahui fix yang proper; sebagai solusi temporer (hanya supaya build sukses) adalah:
bug(?) ini akibat dari commit aa02e1654bcdfa0677e19ab9bb27b44dc8bf26b9; belum diketahui fix yang proper; sebagai solusi temporer (hanya supaya build sukses) adalah:
$ cd ~/jhbuild/checkout/pulseaudio
$ cd ~/jhbuild/checkout/pulseaudio
$ wget http://tempel.blankon.in/1897942?download -O pulseaudio-foo.patch
$ wget http://tempel.blankon.in/1897942?download -O pulseaudio-foo.patch
$ patch -p1 < pulseaudio-foo.patch
$ patch -p1 < pulseaudio-foo.patch
$ jhbuild buildone pulseaudio
$ jhbuild buildone pulseaudio
* Bugfix untuk evolution
==evolution==
$ cd ~/jhbuild/checkout/evolution
$ cd ~/jhbuild/checkout/evolution
$ wget http://tempel.blankon.in/1900068?download -O evolution-foo.patch
$ wget http://tempel.blankon.in/1900068?download -O evolution-foo.patch
$ patch -p1 < evolution-foo.patch
$ patch -p1 < evolution-foo.patch
$ jhbuild buildone evolution
$ jhbuild buildone evolution
* Bugfix untuk gtk+
==Bugfix untuk gtk+==
$ cd ~/jhbuild/checkout/gtk+
$ cd ~/jhbuild/checkout/gtk+
$ wget http://tempel.blankon.in/1926146?download -O gtk-foo.patch
$ wget http://tempel.blankon.in/1926146?download -O gtk-foo.patch
Line 107: Line 133:
$ jhbuild buildone gtk+
$ jhbuild buildone gtk+


=Catatan Tambahan=
=Troubleshooting proses kompilasi gagal=
==glib-gettext.m4==
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:
WARNING: aclocal's directory is /usr/share/aclocal, but...
System installed packages which are too old:
no file /usr/share/aclocal/glib-gettext.m4
(none)
You may see fatal macro warnings below.
No matching system package installed:
If these files are installed in /some/dir, set the ACLOCAL_FLAGS
llvm
environment variable to "-I /some/dir", or install
opus (opus.pc, required=1.0)
/usr/share/aclocal/glib-gettext.m4.
WebKit1 (webkitgtk-3.0.pc, required=2.0.0)
</pre>
highlight
kandidat berkas:
gexiv2 (gexiv2.pc)
/home/vagrant/jhbuild/checkout/farstream-0.2.7/common/m4/glib-gettext.m4
openssl (libcrypto.pc)
/home/vagrant/jhbuild/checkout/glib/m4macros/glib-gettext.m4
libjasper
/home/vagrant/jhbuild/checkout/gnome-builder/build/autotools/glib-gettext.m4
spamassassin
/home/vagrant/jhbuild/checkout/gnome-builder/plugins/autotools-templates/autotools_templates/resources/m4/glib-gettext.m4
cyrus-sasl
/home/vagrant/jhbuild/checkout/gnome-todo/m4/glib-gettext.m4
libvirt (libvirt.pc, required=1.0.6)
/home/vagrant/jhbuild/checkout/gst-plugins-bad/common/m4/glib-gettext.m4
libraw (libraw.pc)
/home/vagrant/jhbuild/checkout/gst-plugins-base/common/m4/glib-gettext.m4
bogofilter
/home/vagrant/jhbuild/checkout/gst-plugins-good/common/m4/glib-gettext.m4
wget
/home/vagrant/jhbuild/checkout/gstreamer/common/m4/glib-gettext.m4
libssh2 (libssh2.pc)
/home/vagrant/jhbuild/checkout/yelp-xsl/m4/glib-gettext.m4
boost (required=1.33.1)
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4
gdb
/usr/share/aclocal/glib-gettext.m4.bad
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 14:07, 27 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.

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-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
  • siapkan 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-world','gnome-apps-3.20' ]
... 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 librest-dev \
libjansson-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

gstreamer

error:

  GEN      GstBase-1.0.gir
g-ir-scanner: link: /bin/bash ../../../libtool --mode=link --tag=CC x86_64-linux-gnu-gcc -pthread -o /home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0 -export-dynamic -L/home/vagrant/jhbuild/install/lib tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o -L. libgstbase-1.0.la -L../../../gst -L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs -L/home/vagrant/jhbuild/install/lib -lgio-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
libtool: link: x86_64-linux-gnu-gcc -pthread -o /home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/.libs/GstBase-1.0 tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic  -L/home/vagrant/jhbuild/install/lib -L. ./.libs/libgstbase-1.0.so -L../../../gst -L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs -lgio-2.0 -lgmodule-2.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -pthread -Wl,-rpath -Wl,/home/vagrant/jhbuild/install/lib
./.libs/libgstbase-1.0.so: undefined reference to `gst_segment_position_from_running_time'
collect2: error: ld returned 1 exit status
linking of temporary binary failed: Command '['/bin/bash', '../../../libtool', '--mode=link', '--tag=CC', 'x86_64-linux-gnu-gcc', '-pthread', '-o', '/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0', '-export-dynamic', '-L/home/vagrant/jhbuild/install/lib', 'tmp-introspectenwkujvs/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base/tmp-introspectenwkujvs/GstBase-1.0.o', '-L.', 'libgstbase-1.0.la', '-L../../../gst', '-L/home/vagrant/jhbuild/checkout/gstreamer/gst/.libs', '-L/home/vagrant/jhbuild/install/lib', '-lgio-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lgstreamer-1.0', '-lgobject-2.0', '-lglib-2.0']' returned non-zero exit status 1
Makefile:1126: recipe for target 'GstBase-1.0.gir' failed
make[4]: *** [GstBase-1.0.gir] Error 1
make[4]: Leaving directory '/home/vagrant/jhbuild/checkout/gstreamer/libs/gst/base'

solusi: versi libgstbase-1.0.so obsolete, masih gagal setelah distclean ...

libsecret

salah branch tags/0.18.4

libuhttpmock

salah branch tags/0.5.0

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

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 ...

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

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+

Catatan Tambahan

glib-gettext.m4

WARNING: aclocal's directory is /usr/share/aclocal, but...
         no file /usr/share/aclocal/glib-gettext.m4
         You may see fatal macro warnings below.
         If these files are installed in /some/dir, set the ACLOCAL_FLAGS 
         environment variable to "-I /some/dir", or install
         /usr/share/aclocal/glib-gettext.m4.

kandidat berkas:

/home/vagrant/jhbuild/checkout/farstream-0.2.7/common/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/glib/m4macros/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gnome-builder/build/autotools/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gnome-builder/plugins/autotools-templates/autotools_templates/resources/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gnome-todo/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gst-plugins-bad/common/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gst-plugins-base/common/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gst-plugins-good/common/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/gstreamer/common/m4/glib-gettext.m4
/home/vagrant/jhbuild/checkout/yelp-xsl/m4/glib-gettext.m4
/home/vagrant/jhbuild/install/share/aclocal/glib-gettext.m4
/usr/share/aclocal/glib-gettext.m4.bad