LibreOffice build on fedora 17 64bit

準備工作

先安裝開發工具與開發函式庫。

建立需要的資料夾,並抓取 git 倉儲的「core」源碼。
mkdir git
cd git

mkdir libo

git clone git://anongit.freedesktop.org/libreoffice/core libo

cd libo

再來,
 sudo yum install --enablerepo=updates-testing cups-devel
 sudo yum install ccache fontconfig-devel perl-Archive-Any gperf libxslt-devel libXt-devel GConf2-devel gnome-vfs2-devel gtk2-devel gstreamer-plugins-base-devel

在你的 libo 目錄下,給予指令
 ./autogen.sh --with-num-cpus=2 --with-lang="zh-TW zh-CN ja" --without-junit --without-myspell-dicts --with-jdk-home=/usr/java/jdk1.7.0_05 --without-java

--with-num-cpus 數請根據你的電腦實際硬體狀況,以及你想使用的核心數目修改。
--with-lang 請根據你想測試的語言而修改。
--without-java 是為了解決 ant 找不到的問題,如果你可以解決的話,請改用下方選項
--with-jdk-home=/usr/java/jdk1.7.0_05 請依據你的 java 位置修改,這裡提供的是 Oracel JDK。

接下來的這個指令,只有在第一次時需要執行,讓你可以看到下載進度,就算你沒手動這麼做,之後的 make 也會下載外部需要的 git 倉儲,或是 tarball。
make fetch

這個動作非常耗時。

正式建置

make 2>&1 | tee build.log
其實 make 就夠了,但這可以讓你儲存所有的 make 輸出資訊為檔案 (build.log),這樣你就可以在需要的時候回顧一下。

如果你的桌面環境是 GNOME 3.4,那麼右下角的系統通知功能每到一段落會告知你當前的建置進度。

nohup make &
tail -f nohup.out
由於第一次編譯會花上很多時間,如果怕不小心砍掉程序,可以改用上面這個指令。nohup 會忽略任何輸入,並將輸出儲存為 nohup.out。

這應該是本文章中最耗費時間的一個階段,你可以去泡杯茶、看電影、出去玩、做其他事情再回來看看。

根據情報顯示,初次建置在 Intel 2630QM 四核 on Kubuntu,每核心各雙執行序的情況下,花費了 1.5 個鐘頭;Athlon 435 X3 on Gentoo 則花了 1.5 個鐘頭 。

啟動

make dev-install

輸出結果會告訴你怎麼啟動你編譯的 LibreOffice。

基本上執行檔位於 path/to/libo/install/program/soffice

重新建置

當你改動了源碼,或是 git pull 後,只要
make
即可根據新的源碼利用舊的編譯檔案重新建置需要更動的地方。

重新編譯的時間通常 2-10 分鐘內可以完成,但仍視源碼的改動程度而定。

如果你想略過之前編譯遺留下的任何檔案,整個砍掉重建,
make clean && make

參考資料

http://wiki.documentfoundation.org/Development/Native_Build
http://wiki.documentfoundation.org/Development/How_to_build/Configure_options

留言

這個網誌中的熱門文章

Render 翻譯

fedora 20 安裝指引

poedit 基本使用教學與 po 檔概念