QDBM とは?
QDBM はデータベースを扱うライブラリで、 PowerSearch プラグインの動作に必要な検索システム Hyper Estraier の動作・インストールに必要です。
QDBM の動作環境
- GCC 2.8 以降 (※)
※ GCC 7 以降だとエラーが発生してインストールできませんが、本ページの後半で対策を掲載しております。
QDBM のインストール
$ wget https://dbmx.net/qdbm/qdbm-1.8.78.tar.gz $ tar xf qdbm-1.8.78.tar.gz $ cd qdbm-1.8.78 $ ./configure --enable-zlib $ make $ make check (「Checking completed.」の表示を確認する。) $ sudo make install
GCC 7 以上をご利用の場合
GCC 7 以上をご利用のサーバーで QDBM をインストールを行おうとするとエラーが発生します。
エラーメッセージの例 :
$ make check (省略) make: *** [check] Segmentation fault
同様のエラーが発生した場合、下記のいずれかの方法で QDBM をインストールしてください。
- GCC 6 以下を利用して QDBM のインストールを行う
- GCC の後方互換性パッケージを利用する
- QDBM へパッチを適用して GCC 7 を利用してインストールを行う
GCC 6 以下を利用して QDBM のインストールを行う
GCC の後方互換性パッケージを利用する
ご利用のサーバーについて GCC の後方互換性パッケージが提供されている場合、そちらを利用して QDBM をインストールできます。
例 : compat-gcc-48 が利用できる場合
$ yum install compat-gcc-48-c++ $ wget https://dbmx.net/qdbm/qdbm-1.8.78.tar.gz $ tar xf qdbm-1.8.78.tar.gz $ cd qdbm-1.8.78 $ CC=gcc48 ./configure --enable-zlib $ make $ make check $ sudo make install
QDBM へパッチを適用して GCC 7 を利用してインストールを行う
早い解決をご希望の場合、パッチを適用済みの QDBM をダウンロードしてご利用ください。
パッチ適用済みの QDBM を利用する
$ tar xf qdbm-1.8.78-gcc-patched.tar.gz $ cd qdbm-1.8.78-gcc-patched $ ./configure --enable-zlib $ make $ make check (「Checking completed.」の表示を確認する。) $ sudo make install
QDBM へパッチを適用して、インストールする手順
※ 手順について QDBM のパッチは Gentoo Linux のリポジトリで公開しているものを利用しております。 Gentoo Linux リポジトリの更新によってパッチのファイル名がかわる場合がありますので手順通りに作業が行えない場合はサポートまでお問い合わせください。
QDBM とパッチをダウンロードし、展開する
$ mkdir work $ cd work $ wget https://dbmx.net/qdbm/qdbm-1.8.78.tar.gz https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-db/qdbm/files/qdbm-{configure,darwin,perl,ruby19,runpath}.patch $ tar xf qdbm-1.8.78.tar.gz $ cd qdbm-1.8.78
QDBM へパッチを適用する
5つのパッチは下記の順序で適用します。
- qdbm-configure.patch
- qdbm-perl.patch
- qdbm-ruby19.patch
- qdbm-runpath.patch
- qdbm-darwin.patch
$ for pfile in ../qdbm-{configure,perl,ruby19,runpath,darwin}.patch; do patch -p1 < $pfile; done patching file cgi/configure.in patching file configure.in patching file java/configure.in patching file perl/configure.in patching file plus/configure.in patching file ruby/configure.in patching file perl/Makefile.in patching file ruby/Makefile.in patching file ruby/configure.in Hunk #1 succeeded at 8 (offset -9 lines). patching file ruby/curia/modcuria.c patching file ruby/curia/rbcrtest patching file ruby/depot/moddepot.c patching file ruby/depot/rbdptest patching file ruby/myrbdoc patching file ruby/villa/mod_villa.c patching file ruby/villa/rbvltest patching file Makefile.in patching file cgi/Makefile.in patching file plus/Makefile.in patching file Makefile.in
QDBM をインストールする
$ ./configure --enable-zlib $ make $ make check (「Checking completed.」の表示を確認する。) $ sudo make install