このセクションではUNIX系の環境でgroongaをソースコードからインストールする方法を説明します。
インストール にある特定環境用のドキュメントに、その環境向けのより詳細な情報があります。特定環境用のドキュメントがある場合は、まずそちらを参照してください。
groongaは特別なライブラリを必要としませんが、いくつかビルドに必要なツールがあります。
以下が必要なツールです:
wget 、 curl または Web ブラウザ(ソースアーカイブをダウンロードするため)
tar と gzip (ソースアーカイブを展開するため)
シェル( dash 、 bash 、 zsh など、どのようなシェルでもたぶん大丈夫)
CコンパイラーとC++コンパイラー ( gcc と g++ がサポート対象だが、他のコンパイラーでもたぶん大丈夫)
make (GNU makeがサポート対象だが、BSD makeなど他のmakeでもたぶん大丈夫)
これらを用意してください。
シェルの代わりに CMake を使うこともできますが、このドキュメントではCMakeを使ってビルドする方法については説明しません。
以下はあるとよいツールです:
pkg-config (ライブラリを検出するため)
sudo (ビルドしたgroongaをインストールするため)
追加のライブラリを使いたい場合はこれらのツールを用意しておかなければいけません。
どのライブラリも必須ではありません。以下はオプションとして使えるライブラリです:
これらのライブラリを使いたい場合は、groongaをインストールする前にライブラリをインストールしてください。
groongaはGNUビルドシステムを使っています。以下は一番簡単なビルド手順です:
% wget http://packages.groonga.org/source/groonga/groonga-3.0.9.tar.gz
% tar xvzf groonga-3.0.9.tar.gz
% cd groonga-3.0.9
% ./configure
% make
% sudo make install
上記の手順を実行すると /usr/local/bin/groonga に groongaコマンド がインストールされます。
デフォルトのビルドでもうまく動くでしょうが、 configure のときにgroongaをカスタマイズすることができます。
以下、それぞれの手順の詳細を説明します。
まず configure を実行します。重要な configure のオプションは以下の通りです:
インストール先となるディレクトリを指定します。groonga関連のファイルは ${PATH}/ ディレクトリ以下にインストールされます。
デフォルトは /usr/local 。デフォルトの場合は groongaコマンド は /usr/local/bin/groonga にインストールされます。
以下はシステム全体にgroongaをインストールするのではなく、ユーザーが個人で使う目的で ~/local にインストールする例です:
% ./configure --prefix=$HOME/local
ログファイル、PIDファイル、データベースなど頻繁に変更されるファイルを置くディレクトリを指定します。たとえば、ログファイルは ${PATH}/log/groonga.log に置かれます。
デフォルトは /usr/local/var です。
以下は頻繁に変更されるファイルをシステム全体で使う領域である /var に置く例です:
% ./configure --localstatedir=/var
ログファイルのデフォルトのパスを指定します。ログファイルのデフォルトのパスは groongaコマンド の --log-path コマンドラインオプションで変更できます。そのため、このオプションはそんなに重要なビルドオプションではありません。少し便利にするためのオプションです。
デフォルトは /usr/local/var/log/groonga.log です。 /usr/local/var の部分は --localestatedir オプションで変更できます。
以下はログファイルを共有しているNFSディレクトリ /nfs/log/groonga.log に置く例です:
% ./configure --with-log-path=/nfs/log/groonga.log
デフォルトのエンコーディングを指定します。有効なエンコーディングは euc_jp 、 sjis 、 utf8 、 latin1 、 koi8r 、 none です。
デフォルトは utf-8 です。
以下はデフォルトのエンコーディングとしてShift_JISを使う例です:
% ./configure --with-default-encoding=sjis
マッチ演算でエスカレーションをするかどうかのデフォルトの閾値を指定します。この閾値については match_escalation_threshold を参照してください。-1はマッチ演算でエスカレーションしないという意味です。
デフォルトは0です。
以下はデフォルトではマッチエスカレーションをしないという例です:
% ./configure --with-match-escalation-threshold=-1
zlibを使ってカラム値を圧縮する機能を有効にします。
デフォルトでは無効です。
以下はzlibを使ってカラム値を圧縮する機能を有効にする例です:
% ./configure --with-zlib
ノート
無効となっている理由は、カラムの値を参照するときにメモリリークするためです。これは既知の問題 GitHub#6 です。この問題はカラムの更新とは関係ありません。
LZOを使ってカラム値を圧縮する機能を有効にします。
デフォルトでは無効です。
以下はLZOを使ってカラム値を圧縮する機能を有効にする例です:
% ./configure --with-lzo
ノート
無効となっている理由は、カラムの値を参照するときにメモリリークするためです。これは既知の問題 GitHub#6 です。この問題はカラムの更新とは関係ありません。
MessagePackがどこにインストールされているかを指定します。MessagePackを --prefix=/usr という configure オプションでインストールしていない場合は、MessagePackをビルドするときに指定したパスをこのオプションで指定してください。
もし、MessagePackを --prefix=$HOME/local という configure オプションでインストールした場合は、groongaの configure では --with-message-pack=$HOME/local と指定してください。
デフォルトは /usr です。
以下はMessagePackが --prefix=$HOME/local という configure オプションでインストールされている場合の例です:
% ./configure --with-message-pack=$HOME/local
groonga用のMuninプラグインをインストールします。プラグインは ${PREFIX}/share/groonga/munin/plugins/ 以下にインストールされます。
デフォルトではプラグインはインストールされません。
以下はgroonga用のMuninプラグインをインストールする例です:
% ./configure --with-munin-plugins
initスクリプトなどプラットフォーム依存のシステム管理ファイルをインストールします。利用可能なプラットフォームは redhat と fedora です。 redhat はRed HatおよびCentOSなどのRed Hatクローンのディストリビューション用です。 fedora はFedora用です。
デフォルトではシステム管理ファイルはインストールされません。
以下はCentOS用のシステム管理ファイルをインストールする例です:
% ./configure --with-package-platform=redhat
すべての configure オプションを表示します。
configure が成功したら make でgroongaをビルドします:
% make
マルチコアCPUを使っている場合は -j オプションを使うとより速くmakeを実行できます。もし、4コアのCPUを使っている場合は、 -j4 オプションを使うともっと速くビルドできます:
% make -j4
make で何かエラーが発生した場合は、そのエラーをレポートしてください: バグレポートの送り方
これでビルドしたgroongaをインストールできます!:
% sudo make install
${PREFIX} への書き込み権限がある場合は sudo を使う必要はありません。例えば、 --prefix=$HOME/local と指定した場合です。この場合は make install を使ってください:
% make install