このドキュメントではOpenOffice.org 2.0系の日本語版をビルドします。現在、OpenOffice.org 2.0は開発段階であり、SRC680というコードにより開発されています。また、1.9と表記する場合もあります。開発段階であるため、多くの環境ではビルドの途中でエラーが起こったりしますが、それらはあなたがビルドしているその間にも議論検討がなされ、解決しています。ビルド中にエラーが起こった場合には、FAQを参照してください。
ビルドに必要なものは以下にリストしてありますが、この他にビルドするための時間が必要です。OpenOffice.orgのソースコードは圧縮して約200MBほどになります。このソースコードをダウンロードするのにも時間がかかりますし、解凍するのにもそれなりの時間がかかります。さらに、マシンの性能にもよりますが、OpenOffice.orgのビルドには約10時間かかります。
必要なもの
- glibc 2.1以上
- gcc 3以上
- X11のヘッダファイルとライブラリ
- J2SE 1.4以上のSDK
- perl 5
- rpm
- OOoビルドのためのパッチを当てたEPM
- csh と tcsh
- zip と unzip
- 最低でもIntel Pentium II
- 128MB メモリ
- 3GBのHDDの空き
- Ant
オプション
- Gtk2 - クラッシュレポータを有効にする場合にgtk2とjpeg/tiffのライブラリが必要です
- ccache - コンパイルをする際にキャッシュを利用するので、再ビルドのときなどにコンパイルが速くなります
ソースコードのダウンロード
現在、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をビルドするのはとても大変な作業で、特にソースコードをダウンロードしてからビルドを開始するまでには単純な作業を強いられます。
この単純な作業を自動で行うためのシェルスクリプトを作成しました。是非、使ってみてください。