CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>
閲覧数の多い順
<< Debian Sargeに avast! Linux Home Edition をインストール | main | Hyper Estraierをコマンドから操作する >>
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | - | 編集 |
Checkinstall を使って Hyper Estraier を ソースコードからDebian Sarge にインストール

デスクトップ検索をしたいので、Hyper Estraier をインストールする。

Debian Sarge には、現時点において公式パッケージが無く、 Debian GNU/Linux スレッドテンプレ で紹介されている apt-line からインストールしようとおもったが、提供されている Hyper Estraier パッケージには、libqdbm11 が含まれていないためインストールできなかった。そこで自分でパッケージを自作しようと思ったが、dh_makeは複雑そうだったので、Checkinstall を使ってソースコードからdebパッケージを作ってインストールすることにした。

checkinstall を使えばソースコードから Slackware,RPM,Debian の簡易パッケージを作ることができる。checkinstall が入っていなければインストールしておく。
apt-get install checkinstall

QDBMのインストール

Hyper Estraier 公式サイトより
なお、QDBMをインストールする際には、zlibを有効化(./configure --enable-zlib)しておくことをお薦めします。その方がHyper Estraierの作るインデックスが小さくなります。QDBMの1.8.48以前のバージョンはサポートされませんので注意してください。
  1. QDBM のプロジェクトページから最新のソースパッケージ(バージョン1.8.51)をダウンロードして解凍。
  2. インデックスのレコード圧縮を機能させるzlibオプションをつけた。今回は付けなかったがその他のオプションとしてレコード圧縮のlzo、bzip2や文字コード変換ユーティリティのiconvなどがある。

  3. $ tar zxvf qdbm-1.8.50.tar.gz
    $ cd qdbm-1.8.50
    $ ./configure --enable-zlib <- レコード圧縮機能を有効にする
    $ make
    $ make check <- プログラムの自己診断テスト
    $ su
    # checkinstall -D

    対話式の質問に答えていく。

    The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y

    You probably don't want them to be included in the package, especially if they are inside your home directory. Do you want me to list them? [n]: n
    Should I exclude them from the package? (Saying yes is a good idea) [y]: y

    Please write a description for the package. End your description with an empty line or EOF.
    >> QDBM is a library of routines for managing a database
    >>

    This package will be built according to these values:
    
    0 -  Maintainer: [ foo@localhost.localdomain ]
    1 -  Summary: [ QDBM is a library of routines for managing a database ]
    2 -  Name:    [ qdbm ]
    3 -  Version: [ 1.8.50 ]
    4 -  Release: [ 1 ]
    5 -  License: [ GPL ]
    6 -  Group:   [ checkinstall ]
    7 -  Architecture: [ i386 ]
    8 -  Source location: [ qdbm-1.8.50 ]
    9 -  Alternate source location: [  ]
    
    Enter a number to change any of them or press ENTER to continue:
  4. DEBパッケージが作成されてインストールされている。

    $ dpkg -l|grep qdbm
    ii  qdbm-1.8.50    1.8.50-1       QDBM is a library of routines for
    foo@bar:~/Desktop/qdbm-1.8.50/qdbm-1.8.50$

Hyper Estraier のインストール

  1. Hyper Estraier のプロジェクトページから最新のソースパッケージ(バージョン1.2.5)をダウンロードして解凍。
  2. 形態素解析のMecabオプションを付けた。
    # apt-get install mecab mecab-utils libmecab-dev
    $ ./configure --enable-mecab
    $ make
    $ make check
    # checkinstall -D

    後は上記と同じように質問に答えていけば Hyper Estraier がインストールされ、makeを行った場所に.debファイルができている。

おまけ

エラーメッセージでぐぐる人のために載せておきます。

Mecab オプションを有効にして make に失敗した時のメッセージです。

$ ./configure --enable-mecab
$ make

( 省略 )

mymorph.c:22:19: mecab.h: そのようなファイルやディレクトリはありません mymorph.c: 関数 `est_mecab_analyze' 内: mymorph.c:188: error: 文法エラー before '*' token mymorph.c:211: error: `mecab' undeclared (first use in this function) mymorph.c:211: error: (Each undeclared identifier is reported only once mymorph.c:211: error: for each function it appears in.) mymorph.c:212: 警告: implicit declaration of function `mecab_new' mymorph.c:213: error: `mecab_destroy' undeclared (first use in this function) mymorph.c:220: 警告: implicit declaration of function `mecab_sparse_tostr' mymorph.c:220: 警告: 代入により、キャストなしで整数からポインタを作りました make: *** [mymorph.o] エラー 1

mecab.hが見つからないというエラーメッセージが表示されているので、Debian パッケージ - パッケージの内容を検索 を開き、mecab.hで検索する。

++++++++++++++++++++++++++++++++++++++++++++++++
FILE                                             PACKAGE

usr/include/mecab.h				 libdevel/libmecab-dev
++++++++++++++++++++++++++++++++++++++++++++++++++
または、auto-apt でコマンドラインから検索もできる。
$ auto-apt search mecab.h
usr/include/mecab.h     libdevel/libmecab-dev

mecab.hは、libmecab-devに含まれているということがわかったのでlibmecab-devをインストールして再び make すると成功した。

| Debian(公式パッケージ以外のソフト) | 05:53 | comments(0) | - | 編集 |
スポンサーサイト
| - | 05:53 | - | - | 編集 |
コメント
コメントする