警告
GNU Autotoolsを使ったビルドは廃止予定のため、CMakeを使ってビルドをしてください: その他: CMakeを使ってビルド
その他#
このセクションでは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 https://packages.groonga.org/source/groonga/groonga-14.1.0.tar.gz
% tar xvzf groonga-14.1.0.tar.gz
% cd groonga-14.1.0
% ./configure
% make
% sudo make install
上記の手順を実行すると /usr/local/bin/groonga
に groonga 実行ファイル がインストールされます。
デフォルトのビルドでもうまく動くでしょうが、 configure
のときにGroongaをカスタマイズすることができます。
以下、それぞれの手順の詳細を説明します。
configure
#
まず configure
を実行します。重要な configure
のオプションは以下の通りです:
--prefix=PATH
#
インストール先となるディレクトリを指定します。Groonga関連のファイルは ${PATH}/
ディレクトリ以下にインストールされます。
デフォルトは /usr/local
。デフォルトの場合は groonga 実行ファイル は /usr/local/bin/groonga
にインストールされます。
以下はシステム全体にGroongaをインストールするのではなく、ユーザーが個人で使う目的で ~/local
にインストールする例です:
% ./configure --prefix=$HOME/local
--localstatedir=PATH
#
ログファイル、PIDファイル、データベースなど頻繁に変更されるファイルを置くディレクトリを指定します。たとえば、ログファイルは ${PATH}/log/groonga.log
に置かれます。
デフォルトは /usr/local/var
です。
以下は頻繁に変更されるファイルをシステム全体で使う領域である /var
に置く例です:
% ./configure --localstatedir=/var
--with-log-path=PATH
#
ログファイルのデフォルトのパスを指定します。ログファイルのデフォルトのパスは groonga 実行ファイル の --log-path
コマンドラインオプションで変更できます。そのため、このオプションはそんなに重要なビルドオプションではありません。少し便利にするためのオプションです。
デフォルトは /usr/local/var/log/groonga.log
です。 /usr/local/var
の部分は --localstatedir
オプションで変更できます。
以下はログファイルを共有しているNFSディレクトリ /nfs/log/groonga.log
に置く例です:
% ./configure --with-log-path=/nfs/log/groonga.log
--with-default-encoding=ENCODING
#
デフォルトのエンコーディングを指定します。有効なエンコーディングは euc_jp
、 sjis
、 utf8
、 latin1
、 koi8r
、 none
です。
デフォルトは utf8
です。
以下はデフォルトのエンコーディングとしてShift_JISを使う例です:
% ./configure --with-default-encoding=sjis
--with-match-escalation-threshold=NUMBER
#
マッチ演算でエスカレーションをするかどうかのデフォルトの閾値を指定します。この閾値については match_escalation_threshold を参照してください。-1はマッチ演算でエスカレーションしないという意味です。
デフォルトは0です。
以下はデフォルトではマッチエスカレーションをしないという例です:
% ./configure --with-match-escalation-threshold=-1
--with-zlib
#
zlibを使ってカラム値を圧縮する機能を有効にします。
デフォルトでは無効です。
以下はzlibを使ってカラム値を圧縮する機能を有効にする例です:
% ./configure --with-zlib
--with-lz4
#
LZ4を使ってカラム値を圧縮する機能を有効にします。
デフォルトでは無効です。
以下はLZ4を使ってカラム値を圧縮する機能を有効にする例です:
% ./configure --with-lz4
--with-message-pack=MESSAGE_PACK_INSTALL_PREFIX
#
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
--with-munin-plugins
#
Groonga用のMuninプラグインをインストールします。プラグインは ${PREFIX}/share/groonga/munin/plugins/
以下にインストールされます。
デフォルトではプラグインはインストールされません。
以下はGroonga用のMuninプラグインをインストールする例です:
% ./configure --with-munin-plugins
--with-package-platform=PLATFORM
#
initスクリプトなどプラットフォーム依存のシステム管理ファイルをインストールします。Red HatおよびAlmaLinuxなどのRed Hatクローンのディストリビューションのみサポートしています。
デフォルトではシステム管理ファイルはインストールされません。
以下はRed Hat系のOS用のシステム管理ファイルをインストールする例です:
% ./configure --with-package-platform=rhel
--help
#
すべての configure
オプションを表示します。
--enable-apache-arrow
および --disable-apache-arrow
#
Apache Arrowのサポートを有効化または無効化します。
Apache Arrowサポートを有効化すると、Apache ArrowのIPC streaming formatが使えるだけでなく、 n_workers や query_parallel_or でマルチスレッドで処理できるようになります。
--enable-apache-arrow
と --disable-apache-arrow
のどちらも指定しない場合、Apache Arrowがシステムにインストールされていれば有効化し、そうでなければ無効化します。このデフォルト動作は --enable-apache-arrow=auto
を指定した場合と同じです。
--enable-apache-arrow
を明示的に指定する場合, 事前にシステムにApache Arrowをインストールする必要があります。
Apache Arrowは 公式のドキュメントの手順 にしたがってインストールしてください。Debian系のシステムでは libarrow-dev
が、Red Hat Enterprise Linux系のシステムでは arrow-devel
が必要です。
--disable-apache-arrow
を明示的に指定すると、システムにApache Arrowがインストールされていても、Apache Arrowサポートを無効化します。
以下は明示的にApache Arrowサポートを有効にする例です。
% ./configure --enable-apache-arrow
注釈
Apache Arrowを標準でないディレクトリにインストールしている場合、 PKG_CONFIG_PATH=PATHS オプションを指定してください。
PKG_CONFIG_PATH=PATHS
#
pkg-configの.pcファイルの検索パスを追加します。
:
で区切ることで複数のパスを指定することができます。
Groongaは外部ライブラリの検出に pkg-config
を使用しています。
pkg-config
は .pc
ファイルを用意するだけで、ライブラリを利用する際に必要となる各種フラグやパスなどを設定してくれるツールです。
パッケージ管理システムを使用してインストールしたライブラリを使いたい場合は、 pkg-config
のデフォルトの検索パスに .pc
ファイルが存在するためこのパラメータを指定する必要はありません。
自身でビルドしたライブラリを使用したい場合などに、このパラメータにそのライブラリの .pc
ファイルの場所を指定します。
環境変数 PKG_CONFIG_PATH
を使用することも出来ますが、以下の理由から configure
のパラメータを使用することを推奨します。
GNU Autotools によって configure.ac
から configure
が生成されます。そして、 make
の実行時、 configure.ac
が変わっていることを検知すると、自動で configure
を再生成し再実行します。 configure
のパラメータとして指定すると、この configure
の再実行時に PKG_CONFIG_PATH
が自動で指定されます。 一方、環境変数を使用した場合は PKG_CONFIG_PATH
は自動で指定されません。
以下は /tmp/local/lib/pkgconfig/arrow.pc
の .pc
ファイルを指定する例です。
% ./configure PKG_CONFIG_PATH=/tmp/local/lib/pkgconfig/
make
#
configure
が成功したら make
でGroongaをビルドします:
% make
マルチコアCPUを使っている場合は -j
オプションを使うとより速くmakeを実行できます。もし、4コアのCPUを使っている場合は、 -j4
オプションを使うともっと速くビルドできます:
% make -j4
make
で何かエラーが発生した場合は、そのエラーをレポートしてください: バグレポートの送り方
make install
#
これでビルドしたGroongaをインストールできます!:
% sudo make install
${PREFIX}
への書き込み権限がある場合は sudo
を使う必要はありません。例えば、 --prefix=$HOME/local
と指定した場合です。この場合は make install
を使ってください:
% make install