Linux üzerinde LibreOffice derlemek

Düzenleme: Derleme sırasında Java ile ilgili kısımlarda bazı sorunlara rastlayabilirsiniz. Bu sorunlar yerelleştirme ayarlarıyla ilgili olacaktır büyük ihtimalle. İşletim sisteminizin dilini İngilizce yapmak sorununuzu çözecektir. İsterseniz derleyicinin dil ayarlarıyla da oynayabilirsiniz.

Bu yazıyı LibreOffice’i geliştirme amacıyla derlemek isteyenlere yönelik yazıyorum. Mutlaka İngilizce bilmek gerekiyor çünkü tüm geliştirme, evrensel olduğundan İngilizce yapılıyor. Geliştirici Wiki sayfasını kısaca Türkçeleştirmeye çalıştım.

Geleceğe not:Yazının yazıldığı tarihi göz önüne alarak güncelliğini Geliştirici Wikisinden kontrol edebilirsiniz..

1 – Disk boyutu

LibreOffice büyük bir proje. Kodların kendisi 1,5 GB civarında. Debug sembolleriyle birlikte tüm proje derlendiğinde 25 GB civarı oluyor.  Tabi tüm projeyi debug sembolleri kapalı olarak derleyip işinize yarayacak modülü tekrar debug sembolleriyle derleyebilirsiniz. Ancak yeni başlayacaklara yapıyı anlayana kadar tüm debug sembolleri açık derleme yapmanız.

2 – Bağımlılıklar

Programın derlenmesi için bir takım bağımlılıklara ihtiyacımız var. Wiki sayfasında dağıtımlara yönelik bağımlılıklar verilmiş elbette. Ben Ubuntu ve Fedora için olanları yazıyorum. Ayrıca Fedorada “devel” paketlerine ihtiyacımız olacak.

sudo yum install gcc-c++ ant java-devel junit4 flex bison perl-Archive-Zip \
gtk2-devel freetype-devel gstreamer-devel autoconf gperf libXaw-devel \
GConf2-devel gnome-vfs2-devel cups-devel gstreamer-plugins-base-devel

Bağımlılıklar için:

Fedora:
sudo yum-builddep libreoffice

Ubuntu:
Yazılım merkezinden kaynak depolarının açık olduğuna emin olun.
sudo apt-get build-dep libreoffice

Ayrıca tüm dağıtımlar için ccache git ve doxygen paketlerini kurun. Yamaları göndermek için git, ikinci derlemede hız kazanmak için ccache kullanıyoruz. ccache özellikle önemli çünkü derleme sonuçlarını tutarak bizi gereksiz işlemden ve vakit kaybından kurtarıyor. İkinci derleme esnasında sadece değişen kısımları yeniden derliyor ve yaklaşık 10 dk’da derlemeyi bitirebiliyoruz.

3 – Kaynak kodları indirmek

Git kullanarak “core” deposunu indiriyoruz. Derleme yapacağınız dizine konsol üzerinden ulaşıp şu komutu vermeniz yeterli.

git clone git://gerrit.libreoffice.org/core libo

Son olarak indirdiğimiz klasörün de içine giriyoruz konsoldan. Derleme esnasında verdiğimiz parametrelere bağlı olarak gerekebilecek alt modülleride indiriyoruz.

make fetch

4 – Autogen.sh

Bu aşama her şeyin doğru olup olmadığını kontrol eden ve doğruysa verilen parametrelere göre derleme için gereken ayarları yapan kısımdır. Sadece şu kod yeterli olacaktır. Özel olarak verilebilecek parametrelere wikiden bakabilirsiniz. Son ayarları da okuduktan sonra gerekli parametrelerle bu komutu verin.

./autogen.sh --enable-dbgutil --without-junit

5 – Son ayarlar

ccache’in tutacağı alanı arttırmak iyi bir fikir olabilir.
ccache --max-size 32G

Daha hızlı derleme yapabilmek için autogen.sh kısmında –with-parallelism parametresini eklemek derleme zamanını azaltacaktır. Makinenin daha fazla thread oluşturması ve işlemcileri sonuna kadar kullanması için bu parametreyi kullanabilirsiniz.

Ben rastlamadım ama “epm not found” ya da “no package found gnome-vfs-2.0” hatalarının çözümüne buradan ulaşabilirsiniz. https://wiki.documentfoundation.org/Development/Native_Build#rpm_not_found.2Fant_not_found.2Fno_package_gnome-vfs-2.0

Fedora’da derleme yapıyorsanız –enable-gio parametresini kullanmanızı öneririm. Ayrıca Autogen sırasında büyük ihtimalle yaşayacağınız “gstreamer” sorunu için iki çözüm var. İlki Fedora’nın tercih ettiği gstreamer sürümünü kullanmak bunun için gerekli parametreler “–disable-gstreamer-0_10 –enable-gstreamer“, ikincisi LibreOffice’in tercih ettiği sürümü kullanmak bunun için de “gstreamer-devel gstreamer-plugins-base-devel” paketlerinin kurulu olması gerekiyor.

6 – Derleme

make 2>&1 | tee build.log

Komutuyla derlemeye başlıyoruz. Hata oluşması durumunda build.log dosyasını kullanabilirsiniz. Kayıt tutmak istemiyorsanız sadece make komutunu verebilirsiniz.

LibreOffice kaynak kodunun olduğu klasördeki alt klasörlerin hemen hemen her biri birer modüldür. Derleme esnasında bu çıkacabilecek sorunların çözümü için hangi modülde sorun olduğunu bulmamız gerekiyor. Çıktıyı dikkatli incelemek bunun için gerekli.

İstersek tek bir modülü de derleyebiliriz.

make modüladı.clean
make modüladı

“Sometimes s*** just happens.”
Başka çaremizin kalmadığı durumlarda da en baştan derleme yapmak zorunda kalabilirsiniz.

make clean && make

7 – Derlenen programı çalıştırma

Öncelikle

make dev-install -o build

ile programı yüklüyoruz. Yalnız yüklemeyi sisteme değil /install/program klasörüne yapıyor. Buradaki “soffice.bin” dosyasını çalıştırdığımızda Libreoffice’in son hali önümüzde duruyor.

Buradan sonrası artık size kalıyor. Bu aşamaları geçerseniz Wiki’den takip edeceğiniz daha az yer kalıyor. Git komutları, yama oluşturma ve yollama ve EasyHacks sayfalarına gömülüp geliştiricilik aşamasında ilk katkınızı vermeye odaklanabilirsiniz.

Reklamlar

Hakkında namcojoulder
about.me/efegurkan

3 Responses to Linux üzerinde LibreOffice derlemek

  1. Bu yazıyı bu kadar hızlı beklemiyordum. Eline sağlık, gayet güzel olmuş.

  2. Kaan Alkım says:

    çok güzel, teşekkürler..

  3. Geri bildirim: LibreOffice Türkçe Geliştirici Listesi Hayırlı Olsun! | bluzz.net

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: