GNOME/Compile/3.22

Dari i14i.andika.info
Lompat ke: navigasi, cari

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
... 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 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 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 \
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 \
libgstreamer-plugins-base1.0-dev
$ sudo apt-get install --no-install-recommends \
libjpeg62-dev guile-2.0-dev
... ambil webp6 ...
$ wget http://kambing.ui.ac.id/debian/pool/main/libw/libwebp/libwebp6_0.5.1-2_amd64.deb
$ sudo dpkg -i libwebp6_0.5.1-2_amd64.deb
... '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.22'
$ 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

gst-plugins-base

graphene

gnome-terminal

cp ShellSearchProvider2.xml

farstream

error:

make[3]: Leaving directory '/home/vagrant/jhbuild/checkout/farstream-0.2.7/gst/fsrtpconference'
  CC       libfsrtpxdata_la-fsrtpxdatadepay.lo
In file included from fsrtpxdata.c:28:0:
fsrtpxdatadepay.h:27:41: fatal error: gst/rtp/gstrtpbasedepayload.h: No such file or directory
compilation terminated.
Makefile:573: recipe for target 'libfsrtpxdata_la-fsrtpxdata.lo' failed
make[3]: *** [libfsrtpxdata_la-fsrtpxdata.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from fsrtpxdatadepay.c:29:0:
/usr/include/gstreamer-1.0/gst/rtp/gstrtpbuffer.h:28:36: fatal error: gst/rtp/gstrtppayloads.h: No such file or directory
compilation terminated.
Makefile:587: recipe for target 'libfsrtpxdata_la-fsrtpxdatadepay.lo' failed
make[3]: *** [libfsrtpxdata_la-fsrtpxdatadepay.lo] Error 1
In file included from fsrtpxdatapay.c:28:0:
/usr/include/gstreamer-1.0/gst/rtp/gstrtpbuffer.h:28:36: fatal error: gst/rtp/gstrtppayloads.h: No such file or directory
compilation terminated.
Makefile:580: recipe for target 'libfsrtpxdata_la-fsrtpxdatapay.lo' failed
make[3]: *** [libfsrtpxdata_la-fsrtpxdatapay.lo] Error 1
make[3]: Leaving directory '/home/vagrant/jhbuild/checkout/farstream-0.2.7/gst/fsrtpxdata'
Makefile:748: recipe for target 'fsrtpxdata' failed
make[2]: *** [fsrtpxdata] Error 2
make[2]: Leaving directory '/home/vagrant/jhbuild/checkout/farstream-0.2.7/gst'
Makefile:614: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/vagrant/jhbuild/checkout/farstream-0.2.7'
Makefile:520: recipe for target 'all' failed
make: *** [all] Error 2

gnome-user-docs

error:

  GEN    pt/
  GEN    pt_BR/
Error: Could not merge translations:
'NoneType' object has no attribute 'node'
Makefile:832: recipe for target 'pt/pt.stamp' failed
make[1]: *** [pt/pt.stamp] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/vagrant/jhbuild/checkout/gnome-user-docs/gnome-help'
Makefile:326: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1