LinuxでOpenOffice.org 2.0をビルドする方法

このドキュメントではOpenOffice.org 2.0系の日本語版をビルドします。現在、OpenOffice.org 2.0は開発段階であり、SRC680というコードにより開発されています。また、1.9と表記する場合もあります。開発段階であるため、多くの環境ではビルドの途中でエラーが起こったりしますが、それらはあなたがビルドしているその間にも議論検討がなされ、解決しています。ビルド中にエラーが起こった場合には、FAQを参照してください。

ビルドに必要なものは以下にリストしてありますが、この他にビルドするための時間が必要です。OpenOffice.orgのソースコードは圧縮して約200MBほどになります。このソースコードをダウンロードするのにも時間がかかりますし、解凍するのにもそれなりの時間がかかります。さらに、マシンの性能にもよりますが、OpenOffice.orgのビルドには約10時間かかります。

必要なもの

オプション

ソースコードのダウンロード

現在、OpenOffice.org 2.0のソースコードはtarボールにより提供されていません。CVSレポジトリよりダウンロードする必要があります。以下のようなコマンドによりダウンロードができます。ちなみに、OpenOffice.org 2.0の開発はHEADブランチで進んでおり、マイルストーンごとにSRC680_m62といったようなタグがうたれています。${BRANCH_TAG}にはこのタグを指定してください。62という数字はマイルストーン番号であり、2週間おきにマイルストーンが設定されています。また、これよりソースコードのディレクトリを${SRC_ROOT}とします。

$ mkdir ${SRC_ROOT}
$ cd ${SRC_ROOT}
$ export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
$ cvs co -r ${BRANCH_TAG} OpenOffice

gpcのダウンロード

OpenOffice.orgはgpcという外部のソースコードを利用しています。OpenOffice.orgをビルドするには、このgpcのソースコードをダウンロードしなければいけません。

General Polygon Clipper Homepageからgpc231.zipをダウンロードします。そしてgpc231.zipを解凍して、${SRC_ROOT}/external/gpcにgpc.cとgpc.hをコピーします。

$ wget ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.zip
$ unzip gpc231.zip
$ cp gpc231/gpc.* ${SRC_ROOT}/external/gpc

必要なライブラリのコピー

OpenOffice.orgをビルドするのに必要なライブラリを手動でコピーしてこなければいけません。必要なライブラリはlibgcc_s.so.1とlibstdc++.so.5です。多くのデストリビューションでは/libや/usr/libにありますので、そこから${SRC_ROOT}/solver/680/unxlngi4.pro/libにコピーします。${SRC_ROOT}/solver/680/unxlngi4.pro/libというディレクトリが無い場合には手動で作成してください。

$ mkdir -p ${SRC_ROOT}/solver/680/unxlngi4.pro/lib $ cp /usr/lib/libgcc_s.so.1 ${SRC_ROOT}/solver/680/unxlngi4.pro/lib $ cp /usr/lib/libstdc++.so.5 ${SRC_ROOT}/solver/680/unxlngi4.pro/lib

日本語版ビルド独自の問題を解決する

OpenOffice.orgは各国語版としてビルドすることができますが、各国語版をビルドしようとするとエラーが起こることがよくあります。これらの問題は最新のマイルストーンでは解決されていることもありますが、そうでない場合もあります。まずは、FAQを参照してください。

ccacheの設定

ccacheを使うには

$ export CC="ccache gcc"
$ export CXX="ccache g++"

というようにCCとCXX環境変数を設定してやります。

configure

次にconfig_officeディレクトリに移り、./configureを行ないます。このときに適宜./configureにオプションをつけてください。./configureで設定できるオプションは

$ ${SRC_ROOT}/config_office
$ ./configure --help

で見ることができます。必要なものにリストしたプログラムについてはPATHに通しておき、JAVA_HOMEやANT_HOMEも設定しておけば特にオプションをつける必要はないでしょう。ただし、日本語版をビルドする際には、--with-lang=jaオプションが必要です。この場合、日本語版と英語版の両方がビルドされます(英語版はデフォルトでビルドされます)。

cd ${SRC_ROOT}/config_office
./configure --with-lang=ja

makeする前に

環境変数の設定とビルド環境の構築をします。shやbashを使っているならば${SRC_ROOT}にあるLinuxIntelEnv.Set.shを、cshやtcshを使っているならばLinuxIntelEnv.Setを取りこみます。そして、bootstrapをしてdmakeなどのツールを生成させます。

$ cd ${SRC_ROOT}
$ source LinuxIntelEnv.Set.sh (sh, bashの場合)
$ source LinuxIntelEnv.Set (csh, tcshの場合)
$ bootstrap

ビルド開始

これでビルドの準備は整いました。dmakeコマンドでビルドを開始します。

dmake

dmakeを始めたら、あとはただ待つのみです。Pentium 4 2.8GHz, メモリ512Mでだいたい10時間ぐらいかかりました。

ビルドが終了したら

エラー出力がなく、最後までビルドが終ったら${SRC_ROOT}/instsetoo_native/unxlngi4.pro/OpenOffice/install/ja/RPMS/(ただし、一部のパッケージがビルドできなかった場合${SRC_ROOT}/instsetoo_native/unxlngi4.pro/OpenOffice/install/ja_witherror/RPMS)以下にOpenOffice.orgのRPMパッケージができています。

$ su # cd ${SRC_ROOT}/instsetoo_native/unxlngi4.pro/OpenOffice/install/ja/RPMS
# rpm -ivh *.rpm

とすると、/opt以下にOpenOffice.orgがインストールされるはずです。

このrpmパッケージを他の人に配布するには、

$ cd ${SRC_ROOT}/instsetoo_native/unxlngi4.pro/OpenOffice/install/ja/RPMS
$ tar cvf OOo_1.9.m62_LinuxIntel_install_ja.tar *
$ gzip OOo_1.9.m62_LinuxIntel_install_ja.tar

とします。こうすると、OOo_1.9.62_LinuxIntel_install_ja.tar.gzというアーカイブができます。ビルドしたバイナリを配布するにはこのアーカイブを配ればよいです。また、アーカイブ名は適宜変更してください。

一連の作業を楽にするために

自分でOpenOffice.orgをビルドするのはとても大変な作業で、特にソースコードをダウンロードしてからビルドを開始するまでには単純な作業を強いられます。
この単純な作業を自動で行うためのシェルスクリプトを作成しました。是非、使ってみてください。


制作者:中本崇志
デザイン:小浦寛裕
$Id: build_linux_2_0.html,v 1.3 2004/12/13 23:45:49 bluedwarf Exp $