2014年2月7日金曜日

LibreOfficeのビルド(その2)

前回、メモリ1GBのPCでチャレンジして時間がひどくかかり苦労しましたが再チャレンジです。


前回、ビルド中の使用メモリが1GBを超えてswapの嵐になっていたので、今回はWindows7(64bit)、メモリ6MBのマシンにVMplayerでUbuntu(32bit)を動かし、それに2core/メモリ2GBを設定しました。さすがに今度は4,5時間でビルドが終わりましたが、no-troubeではすみませんでした(-_-;)

以下に作業手順をメモしておきます。

1.作業領域の確保
$ mkdir LibreOffice

$ cd LibreOffice/


2.リポジトリの取得
$ git clone git://gerrit.libreoffice.org/core

$ cd core

作業したい(checkoutしたい)タグ(バージョン)を確認する
$ git tag -l

とりあえず4.2で作業します
$ git checkout libreoffice-4.2.0.4

LibreOfficeのビルドに必要なパッケージをインストールしてくれる以下のコマンドを実行します。

$ sudo apt-get build-dep libreoffice
→ccacheまでインストールしてくれちゃいました

日本語にローカライズするので、これも必要か?最初に参考にしたHPでは要求してませんでしたが、念のためインストールしておきます。

$ sudo apt-get install translate-toolkit dos2unix


3.makefile作成のコマンド
$ ./autogen.sh --with-lang="ja"

→デフォルトのUbuntuでは、autoconf, automakeがないといわれちゃいました
 apt-get install autoconfで、両方インストールしてくれます

前回はかなりwithoutにしたんですが、今回は必要なものを一括してインストールしてくれるコマンドがあったおかげか、「--with-lang="ja"」だけで済みました。

さてこれでno-troubleかと思いきや、やはり単体試験で通らない箇所がでました。前回はメモリ不足のせいか落ちながら少しづつビルドが進んでいきましたが、今回は同じところで止まります。(xmlエクスポートの箇所らしい)
ググってみると、TDFのメールアーカイブに本件に関する問い合わせと回答がありました。(ちょうど4.2.0alpha1のとき)CppunitTest_sw_ooxmlexportでは特定のfontがないだけでエラーになるようです。(試験用に用意されているドキュメントのフォントがシステムに存在してなくて、別の代替フォントで出力してしまいページ数が合わないということらしい)
そこんとこは以下の方法がworkaroundとして記載されていました。

$ sed -i '/CppunitTest_sw_ooxmlexport/d' sw/Module_sw.mk

上記は単体試験から上記テストを削除してしまう方法で、ちょっと強引なやりかたです。

これでビルドはパスしましたが、make dev-isntallしようとしたら、それはobsolete(廃止された)と怒られました。(make test-installを使えと言われた。)

test-installディレクトリが作成され、test-install/program/sofficeで実行コマンドが作成できました。
(実行したらアバウトにDev版だと表示されたw)

PS:
実は同じタイミングでMac OSX Mavericksでも試してみたんですが、autogen.shのところで先に進めなくて諦めてます。ひっかかった箇所がgccのバージョンチェックのところ。手動で当該スクリプトを実行する分には問題が起きないんですがね~。mavericksになってXcodeの開発環境まわりが少し変わったのかもしれません。もう少し様子を見ます。

0 件のコメント:

コメントを投稿