How to Install Freya ■ Freyaが必要とするソフトウェア ○ g++ (GNU CC) + libg++ 現在のところ,Freyaの開発には gcc version 2.7.2 を使用しています。gcc version 2.6.3 でもコンパイルできるように意図して作成していますが,もし かするとうまく動かないかもしれません。残念ながら g++ 以外のC++コンパイ ラではソースコードの修正が必要となる可能性が高いでしょう。 (すくなくともIRIX5.3付属のCCでは大変そうでした) ○ nkf nkf以外の漢字コード変換ツールでも,フィルタとして利用できれば構いませ ん。が,他のツールではテストしていませんので,特に理由がない限り,nkf を使ったほうが確実でしょう。 /usr/local/bin/nkf 以外を使う場合は,bin/text2fdif, bin/html2fdif, bin/mail2fdif にnkfへのパスと,日本語EUCを出力するためのオプションを書 いてください。-m, -Z オプションは必須ではありませんが,あったほうがよ いでしょう。このため,nkf 1.5以降(できれば1.6以降)を推奨します。 ○ Perl + ライブラリ Freyaは索引づけする際にPerlを併用します。Perlはバージョン5.004以降を推 奨しますが,5.003ならおそらく動くでしょう。5.001や5.002を使用している 方はこの機会にバージョンアップすることをお勧めします。jperlである必要 はありません。jperlパッチつきでPerl5を作った場合はコマンド名をjperlに* しないで*起動してください。つまり,#!/usr/local/bin/jperl などにはしな いでください。 Perl5が /usr/local/bin/perl 以外にインストールされている場合は, bin/text2fdif, bin/html2fdif, bin/mail2fdif, bin/mkicotdic 等の先頭部 分を書きかえてください。 また,HTMLを索引づけする場合はlibwww-perl-5 というPerl5用ライブラリも 使用します。libwww-perl-5 が,libnet, MIME-Base64, MD5などのPerl5ライ ブラリを必要とするため,それらもあらかじめインストールしておかねばなり ません。これらはたとえば以下のURLから入手できます。 ftp://ftp.lab.kdd.co.jp/CPAN/authors/id/GAAS ftp://ftp.lab.kdd.co.jp/CPAN/modules/by-module/WWW/ ftp://ftp.lab.kdd.co.jp/CPAN/modules/by-module/MD5/ ftp://ftp.lab.kdd.co.jp/CPAN/modules/by-module/Net/ メールなど,HTML以外のファイルだけ検索できればいいというのであれば, libwww-perl-5は必要ありません(Perl5は必要です)。 FreeBSDやLinuxの場合は,バイナリパッケージからインストールことも可能か もしれませんが,libnetのようにインストール時に設定を必要とするモジュー ルもあるので,Perl5用ライブラリについては,手動でmakeするほうが確実だ と思われます(インストールは簡単ですし)。 LWPが正しくインストールされたかどうかは,lwp-request(1)などを実行する ことで確かめることができます。 ・(おせっかいな)コマンド実行例 FreeBSD2.2では,/usr/bin/perl が Perl version 4,/usr/local/bin/perl が Perl version 5 になっているので,明示的に /usr/local/bin/perl を 使って Makefile を作成しています。 % gzip -dc MIME-Base64-2.04.tar.gz | tar xvf - % cd MIME-Base64-2.04 % less README % /usr/local/bin/perl Makefile.PL % make % make test % su # make install # exit % cd .. % gzip -dc MD5-1.7.tar.gz | tar xvf - % cd MD5-1.7 % less README % /usr/local/bin/perl Makefile.PL % make % make test % su # make install # exit % cd .. % gzip -dc libnet-1.0604.tar.gz | tar xvf - % cd libnet-1.0604 % less README % /usr/local/bin/perl Makefile.PL (ホスト名などについて,質問に答える) % make % make test % su # make install # exit % cd .. % gzip -dc libwww-perl-5.18.tar.gz | tar xvf - % cd libwww-perl-5.18 % less README % /usr/local/bin/perl Makefile.PL % make % make test % su # make install # exit % cd .. ■ Freya本体のインストール(ソースからコンパイルする場合) ○ パッケージを展開する % gzip -dc freya-?.??.tar.gz | tar xvf - % cd freya-?.?? ○ ソースとMakefileの修正 以下の例では /usr/local/lib/freya にインストールすると仮定します。他の 場所にインストールする場合は src/config.h の DEFAULT_MORPHDIC_PATH を 書きかえてください。 src/Makefileを編集し,$(CXX)にC++コンパイラを,$(CXXFLAGS)にオプション を指定してください。SunOS4.1でコンパイルする場合のみ -DSUNOS4 をつけて ください。他のOSでは特に定義する必要はありません。 残念ながら g++/libg++ 以外のC++コンパイラではうまくコンパイルできない 可能性が高いと思われます。 nkf が /usr/local/bin にない場合は bin/text2fdif,bin/html2fdif,bin/mail2fdif,bin/mkicotdicの先頭部分を修 正してください。 ○ makeする src ディレクトリで make します。make depend は必要ありません。うまくい けば fsearch fsearch.cgi findex fmerge fmkmorphdic という5つの実行ファ イルができ上がるはずです。 成功すれば,make install してください。make install は上記の5つの実行 ファイルを strip し,../bin と ../cgi-bin にコピーするだけです。もし install(1)がなければ,手動で strip(1) して,コピーしてください。この時 点ではまだ su する必要はないでしょう。 % make % make install % make clean ○ ICOT形態素辞書の準備 Freyaは索引づけの際に形態素辞書を援用します。kakasiやChasenは不要です が,日本語の単語のデータだけは必要です。 ここではパブリックドメインの形態素辞書として公開されている「ICOTフリー ソフトウェア『形態素辞書』」を使用することにします。Freyaは形態素辞書 を補助的な情報としてのみ使用するため,辞書の収録語数や品質にはさほどこ だわる必要がありません。 ICOT形態素辞書には,辞書を高速に検索するためのTRIEライブラリも添付され ていますが,Freyaが使うのは辞書データ(テキストファイル)だけです。品詞 情報も一切使わないので,見出し語のみを抽出し(bin/mkicotdic),バイナリ ファイルに変換します(bin/fmkmorphdic)。 % mkdir morphdic % gzip -dc morphdic.tar.gz | tar xvf - - C morphdic % cd freya-?.?? % bin/mkicotdic ../morphdic/src/dictdata/*.sort | bin/fmkmorphdic - dict/icot.dic 1.6MB程度の辞書ファイル(dict/icot.dic)が作成されます。この作業が成功す れば,もう morphdic は必要ありませんので,他の用途に使う予定がなければ, 削除してもよいでしょう。 % cd .. % rm -fr morphdic.tar.gz morphdic ○ インストール先に移す 特権ユーザになって,インストール先ディレクトリに移動させます。srcディ レクトリは消しても構いません。 % su # mv freya-?.?? /usr/local/lib/freya さて,これで実行形式のファイルはすべて /usr/local/lib/freya/bin にある ことになります。これをパスに加えるか,/usr/local/bin などからsymbolic linkを張ります。実際にコマンドラインから頻繁に使うのは findex, fsearch, text2fdif, html2fdif, mail2fdif くらいでしょう。 # cd /usr/local/bin # ln -s ../lib/freya/bin/findex . # ln -s ../lib/freya/bin/fsearch . # ln -s ../lib/freya/bin/text2fdif . # ln -s ../lib/freya/bin/html2fdif . # ln -s ../lib/freya/bin/mail2fdif . ○ 動作テスト 基本的なインストールはここまでです。使用方法とCGIの設定はMANUAL.jaを御 覧ください。 ■ Freya本体のインストール(バイナリパッケージを使用する場合) バイナリパッケージを使う場合も,libwww-perl-5, nkf等はあらかじめインス トールしておく必要があります。それらがすでに用意されているのであれば, あとはパッケージを展開して,インストール先ディレクトリに移動するだけで す。標準の形態素辞書ファイルはバイナリパッケージに含まれていますので, ICOT形態素辞書(morphdic.tar.gz)は不要です。 nkf が /usr/local/bin にない場合は freya/bin/{text2fdif,html2fdif,mail2fdif}の先頭部分を修正してください。 % gzip -dc freya-x.xx-i386-freebsd.tar.gz | tar xvf - % su # mv freya /usr/local/lib ■ ヒントとトラブルシューティング ・/usr/local/lib/freya 以外にインストールする場合 src/config.h に findex がデフォルトで使用する形態素辞書を指定します。 /usr/local/bin/nkf 以外を使う場合は bin/html2fdif 等のPerlスクリプトの 先頭部分を変更します。 ・make できない 使用しているOS,コンパイラ等について教えてください。32bit UNIXでg++を 使えばだいたい大丈夫だと思っているのですが…。 ・icot.dicがうまく作れない Perlスクリプト bin/mkicotdic は morphdic.tar.gz:src/dict/*.sort の内容 をsort(1)を使ってマージソートしています。sort(1)が -m オプションを持っ ていない場合はこれらを他の方法でマージソートし,日本語EUCに変換してく ださい。 実は fmkmorphdic は入力がソートされていなくても正しく動作します。ただ, 同じ語を二度登録しようとすると警告が出るので,あらかじめsortとuniqをし ようというだけです。 ------------------------------------------------------------ Copyright (c) 1997 HARADA Masanori. All rights reserved. $Id: INSTALL.ja,v 0.9 1997-12-29 14:25:22+09 harada Exp $