2013年8月22日木曜日

LibreOfficeのソースからのビルド:準備編

ビルド環境はCentOS6で行う。手順1.と2.については前回も書きましたが、あらためて記載する。(そのわりには、fontconfigの件抜いちゃってますが)

1.
まずビルド環境を整備するのに、以下のコマンドを使えとlibreofficeのwikiに書いてあった。

$ sudo yum-builddep libreoffice # RedHat

しかし、何かlibreoffice-3.0.4のソースRPMが見つからないといってエラーで返される。
どうもビルドに必要なライブラリを落としてくる(RedHat系なので、当然rpmパッケージでDLします)が、ソースまでrpmパッケージで探そうとしているらしい。(自分で最新ソースをDLしてくるからいいのに・・・・)

結局、これで必要なものがDLされたかは疑問。(実際、この後あれが足りない、これが足りないと自分でライブラリをインストールしまくる必要があったのでダメだったんでしょう)

2.
続いてconfigureに相当する、autogen.sh(gitしてきたところに入っている)を実行する。とりあえずオプションなしで。(全機能ビルドしようとしちゃうだろうけど、最初は全然わからないので。)

まずでてきたのが、javac(javaコンパイラ)がないとのこと。
OSのインストール状況を見てみるとOpenJDKのruntimeが入っていた。(だからjavaはあるが、javacはない)
OpenJDK-Developnment Environmentをソフトウェア管理ツールを使用してインストール、これでjavacは解決した。

3.
次にでてきたのが、gperfがないということ。(ハッシュ関数生成用ライブラリだそうです)以下のコマンドで直接インストール。

$ sudo yum install gperf

4.
次にでてきたのが、インストール済みのdoxygen(設計書自動生成ツール)のバージョンが古い(現在、1.6が入っている。 1.8.4以上が欲しいといってきた)ということ。yum updateをやってみたが、CentOSのリポジトリではまだ新しいバージョンが登録されてないらしく、現状で最新とのこと。
特にdoxygenの出力が欲しいわけではないので、これをスルーするオプションを追加。(親切にもautogen.shが提案してきてくれた)

./autogen.sh --without-doxygen

5.
次にでてきたのが、libjpegのヘッダファイルがないということ。libjpegのパッケージ自体は入っているが、ヘッダファイルということは開発用のパッケージが必要ということと判断し、以下のコマンドでインストール。

$ sudo yum install libjpeg-devel

6.
次にでてきたのが、libxsltがないということ。先ほどのlibjpegと同じことだろうと考え、以下のコマンドで開発用パッケージをインストール。

$ sudo yum install libxslt-devel

7.
次にでてきたのが、X関係の開発環境がないということ。さすがにこれはマニュアルでインストールしていると大変なので、ソフトウェア管理ツールを使い、それらしいものをかたっぱしからインストール。(ほとんどインストールされていない状態でした。OSインストール時に昔は「X開発環境」という選択肢があったんですが、今回のは単なる「開発環境」の選択肢しかなくって、結果g++が入ってくれた程度でした。)

8.
次にでてきたのが、gconfがないということ。でもパッケージ関係で探すとgconf-editorしか見つかりません。これはgnomeの設定用ツールでGUI込みのものです。でも要求されているのは、GUIは要らないから設定ファイル関係を操作するものらしいんですが、単独ではパッケージが見つかりません。
LibreOfficeがなんでこんなもの必要なんだろうと調べてみると、gnome設定を直接サポートするパッケージ(libreofice-gnome)をビルドするのに必要ならしい。そもそもこの機能自体まだexperimental(実験的)なものなので、はずします。

./autogen.sh --without-doxygen --disable-gconf

9.
次にでてきたのが、dbus-glib-1がないということ。glibというからにはグラフィック・ライブラリに関するものと思われるが、聞いたことのない名称。ぐぐってみると、"GLb Bindings for D-Bus"というものらしく、D-Busというのが一種の(軽量な)プロセス間通信を提供するもので、元々はKDEプロジェクトで開発されたものが今では様々なものに移植され使われているとのこと。以下のコマンドで直接インストール。

$ sudo yum install dbus-glib-devel

10.
次にでてきたのが、GTK-pluginがないとのこと。先ほどgconfをあきらめたので、これもdisableにすることにする。

./autogen.sh --without-doxygen --disable-gconf --disable-gtk

(おそらくこのあたりまでLibreOfficeに入れようとすると、gnomeやGTKのソースが必要になってくるんだろう。そうなると、そもそもgnome自体も標準でディストリビューションに入っている物から、自分でビルドしたものに変えないといけなくなるだろうし・・・手間が際限なく増えていく。)

11.
次にでてきたのが、GSTREAMERがないとのこと。(何者かと思ったら、streaming media frameworkとのこと。)調べて、以下の2つをインストール。

$ sudo yum install gstreamer-devl
$ sudo yum install gstreamer-plugins-base-devel

12.
次にでてきたのが、libGLUがないとのこと。(OpenGLのライブラリのうちのGLU)以下のコマンドでインストール。

$ sudo yum install mesa-libGLU-devel

13.
次にでてきたのが、antがないとのこと。(java版のmake。なんでこんなものまで使うんだ?)以下のコマンドでインストール。

$ sudo yum install ant

14.
次にでてきたのが、JUnitがないとのこと。(javaの単体試験モジュール。LibreOffice内にjava開発機能が含まれているのか?)さすがにこれはパス。

./autogen.sh --without-doxygen --disable-gconf --disable-gtk --without-junit

とりあえずこれでMakefileはできました。




0 件のコメント:

コメントを投稿