homeホームHTMLに役立つヒントマニュアルに書いてないNAMAZU > MAC OS XにNAMAZUをインストールする

Macintosh OS XにNAMAZUをインストールする

 namazu-user-jaメーリングリストに助けてもらいました。ありがとうございました。
 以下のやり方でインストールできますが、正しいインストール方法か自信がないので、こちらにインストールに失敗していたときのインストールログ(80k)をおいてあります。

 Macintosh OS X(Darwin)にNAMAZUをインストールしてみます。例によって、これが正しい手順かどうか自信はありませんのでオウンリスクでお願いします。

 詳しい解説はマニュNAMA本文を見てもらうとして(一通り本文を読んでもらった方がわかりやすいと思います)、ここではインストール手順だけを追っていきます。

●目次


●MACの受け入れ準備

 インストールの前に、Macintosh側で受け入れ準備をする必要があります。次の条件をクリアしておいてください。

 上の条件をクリアしたら、いよいよインストールの開始です。一つづつ進めていって下さい。もしエラーがでた場合は、「make distclean」としてconfigureファイルが生成したファイルを消して、もう一度やり直してみてください。


●ファイルをダウンロードする

 必要なファイルをダウンロードします。Chasenは本体と辞書が分離されて配布されていますので、辞書を忘れずに。

 ダウンロードしたら、作業がしやすいようにファインダーから「/Users/mizusawa/」に作業用のディレクトリ(フォルダ)を作って、その中にダウンロードファイルを全部入れてしまいましょう(「/Users/mizusawa/」のmizusawa部分はアカウント名です。あなたのアカウントに読み替えてください)。

 ここでは「pkg_fol」というディレクトリを作ったことにして、作業の起点を「/Users/name/pkg_fol」だということにします。「cd /Users/mizusawa/pkg_fol」と打ち込めばこのディレクトリに移動できます。

 UNIXのお作法では、namazu-2.0.13.tar.gzなどのインストール用のファイルは、本当は勝手に「pkg_fol」なんてフォルダを作らずに、特定の場所に置くのが正しいみたいです。僕の場合、ま、インストールできればいいやって感じでこうしてます。

 なお、ダウンロードの際に、StuffIt Expanderが起動して、すでにパッケージが解凍されているかもしれません。その場合は.tar.gzファイルと解凍されたフォルダを入れましょう。.tarファイルは中間ファイルなのでゴミ箱行きにしてかまいません。

 おっと、.tar.gzファイルはStuffIt Expanderで解凍できます。


●ディレクトリを作り、パスを通す

●ディレクトリを作る

 まず、インストールするディレクトリを作っておきます。Terminalで作業します。何らかの理由ですでに「/usr/local/bin」「/usr/local/etc」ディレクトリが存在していれば、この作業は必要ありません。「cd /usr/local」として「ls」してみて、「bin」や「etc」がなければ作成しなくてはいけません。

 Terminalを立ち上げて作業します。

cd /usr/local ←システム領域に行く
sudo mkdir bin ←/usr/local/binを作る。(これがないとnkfのインストールで引っかかる)
パスワード ←パスワードを答える
sudo mkdir etc ←/usr/local/etcを作る。(これがないとchasenの辞書、ipadicのコンフィグで引っかかる。kakasiでは必要なし)
パスワード ←パスワードを答える。すぐなので2度目はたぶん聞かれないと思いますが。sudoコマンドは1度使うと5分以内であればパスワードを聞かれません。以下、パスワードとなっている部分は、パスワードを聞かれたら答えてください。)

●/usr/local/binにパスを通す

 作ったばかりの「/usr/local/bin」には、いろいろとコマンドをインストールすることになります。

 しかし、「/usr/local/bin」ディレクトリにあるコマンドをコマンドとして認識してもらうためには、「/usr/local/binにパスを通す」必要があります。

 そこで「/usr/local/binにパスを通す」必要があります。この作業を行ってください。


●nkfをインストールする

●nkfのインストール

.sharファイルは解凍するとファイルをぶちまけるので、フォルダをつくって、その中に入れておくと良いです。ここではpkg_folの下に「nkf_source」というフォルダを作り、その中にnkf171.sharを入れて作業をしました。こんなイメージです。

pkg_fol--+--nkf_source--+--nkf171.shar
      | 
     +--namazu2.0.10
      | 
     +--ほか

 Terminalで作業します。

cd /Users/mizusawa/pkg_fol ←パッケージのあるディレクトリへ移動する
cd nkf_source ←.sharを入れてあるフォルダに移動します。
sh nkf171.shar ←nkfを解凍します
rm -rf NKF ←perlモジュールの入ったNKFフォルダをいったん削除します(次のコンパイルで作るファイル名と同名のディレクトリなのでじゃまになる。別のディレクトリに移動しておいても良いです)。
cc -o nkf nkf.c ←コンパイルする。-oオプションでnkfというファイルに書き出しています。
sudo cp nkf /usr/local/bin/nkf
 ←システム領域にコピーする。
パスワード
rehash
 ←パスを通すためにリハッシュする。
nkf -v ←バージョンを調べる。ちゃんとバージョン情報が出てきたら成功。
 ちゃんとテストしたい場合は続けてこうする。権限はrootで行うこと。
 chmod 755 nkf_test.pl
 perl nkf_test.pl
 これでテスト結果が表示されます。最後の方のテストには失敗していても大丈夫。
 テストが終わったらrootを抜けること。

rm -rf nkf ←nkfのソースを削除する。

●続けてnkfのperlモジュールをインストールする

sh nkf171.shar ←perlモジュールを組み込むためにnkfをもう一度解凍します。
cd nkf ←perlモジュールのあるフォルダにおります。
perl Makefile.PL ←前準備
make ←コンパイルする
make test ←テストする
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

●自分用メモ:

 nkfは漢字コード変換コマンドです。nkfのSJIS変換コマンドは次のような感じ。「-s」がSJISの指定です。「-e」がEUC、「-j」はJIS(これがデフォルト)です。

 nkf -s filename

 次のようにするとfilename1をSJISに変換してfilename2という名前で保存します。

 nkf -s filename1 > filename2


 10.3.5ではChasenのインストールはテストしていません。以下、Chasenについては10.3までの環境の話です。

  KAKASIは以下の解説の通りで10.3.5にインストールできます。

●ChaSenをインストールする

cd /Users/mizusawa/pkg_fol ←パッケージのあるディレクトリへ移動する
cd chasen-2.2.9
 ←茶筅のディレクトリにおりる
./configure --host=powerpc-apple-bsd ←ホスト情報を指定してコンフィグレーションする。ホスト指定をしないとmakeに失敗します。
make ←コンパイルする
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

メモ:インストール位置は次の通り

/usr/local/bin/chasen 茶筌の実行ファイル
/usr/local/libexec/chasen/ 辞書作成プログラム
/usr/local/lib/libchasen.* 茶筌ライブラリ
/usr/local/include/chasen.h ヘッダファイル
/usr/local/share/chasen/doc/ マニュアル
/usr/local/share/chasen/prolog/ Prolog 用インタフェース

メモ:試したところ、KAKASIでも同様に./configure --host=powerpc-apple-bsd、make、sudo make installですんなりインストールできました。10.2でもインストールできることを確認しました。

 なお、KAKASIは本体と同時に辞書もインストールされます。

※追記2001/4/23:KAKASIのインストールで、最初のmakeでは失敗し、make distcleanした後、もう一度./configureから行ったところ、2度目はスムーズにインストールされるということがありました。1回でダメだった場合、2度目を試してみてください。


●ipadic Chasenの辞書をインストールする

cd /Users/mizusawa/pkg_fol ←パッケージのあるディレクトリへ移動する
cd ipadic-2.4.4 ←辞書のあるディレクトリにおりる。
./configure
 ←コンフィグレーションする
make ←コンパイルする
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

メモ:インストール位置は次の通り

/usr/local/share/chasen/dic/ipadic


●TEXT::Chasen ChaSenのperlモジュールをインストールする

※以下の方法では完全なインストールにはならないようです。僕の環境(10.2.1)では、mknmzrcでchasenを指定するとエラーがでてmknmzできません。mknmz時に-cオプションを使ってchasenを指定するときちんとインデックスできます。fourさんにPLファイルの書き換えはやはり必要ではないか、というご指摘をいただいたことからこの現象が発覚しました。

●最初に「Makefile.PL」の中身を書き換えます。

 ファインダーで「Text-ChaSen-1.03/Makefile.PL」をテキストエディタで開きます。次の赤い個所を変更します。

 オリジナル
  'LIBS' => ['-lchasen']

 変更後
  'LIBS' => ['-L/usr/local/lib -lchasen']

●保存したら、Terminalに戻って作業を続けます。

cd Text-ChaSen-1.03 ←ペールモジュールのあるディレクトリにおりる。
perl Makefile.PL  ←前準備。
make ←コンパイルする
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

メモ:試したところ、TEXT::KAKASIでは、「Makefile.PL」を書き換える必要はなく、perl Makefile.PL、make、sudo make installですんなりインストールできました。


●NAMAZUをインストールする

●File-MMagicをインストールする。

 File-MMagicは、ファイル名からその種類を推定するツールで、NAMAZUのインストールに利用されます。NAMAZUのパッケージに含まれています。

cd namazu-2.0.13/File-MMagic ←File-MMagicのディレクトリまでおりる
perl Makefile.PL ←前準備。
make ←コンパイルする
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

●NAMAZUをインストールする/1 for OS X 10.0〜10.04(よーするに古いバージョン)

cd .. ←namazuディレクトリに上がる

./configure ←コンフィグレーションする。

 コンフィグレーションでインストール用のファイルが作られます。このうち、「nmz/Makefile」をテキストエディタで開いて編集します。

nmz/Makefile の153行目(2.06の場合。2.05、2.04では148行目だった)
オリジナル
 LIBS = -lm
変更後
 LIBS =
 と書き換えて保存します。

 Terminalで作業を続けます。
make ←コンパイルする。ちょっと時間がかかります。
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

●NAMAZUをインストールする/2 for OS X 10.1〜10.3(10.2/10.3もこの方法でインストールできます。10.3.xでは「./configure」だけでOKです)

cd .. ←namazuディレクトリに上がる

./configure --host=powerpc-apple-bsd ←コンフィグレーション。10.3では「./configure」
make ←コンパイルする。ちょっと時間がかかります。
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

●NAMAZUをインストールする/3 for OS X 10.3.5(10.3.1〜10.3.4までは未テストで不明です。)

最初に書いたようにGNU gettextのインストールが必要です。

cd .. ←namazuディレクトリに上がる

./configure --host=powerpc-apple-bsd --with-libintl-prefix=/usr/local/share/gettext ←コンフィグレーション。前述のようにGNU gettextをインストールすると「/usr/local/share/gettext」にインストールされるので、それを指定している。「/usr/local/」にインストールした場合はこの指定は不要。
make ←コンパイルする。ちょっと時間がかかります。
sudo make install
 ←システム領域にインストールする
パスワード
make clean
 ←ゴミを削除する。またはmake distclean

 以上で終わりです。後は、本文通りnamazu.cgi(/usr/local/libexec/)やらmknmzrc(/usr/local/etc/namazu/mknmzrc-sample)、namazurc(/usr/local/etc/namazu/namazurc-sample)を取ってきて、インデックスディレクトリを作ってテストと設定を行います。

 「自分用の設定を作る」あたりから順に読んでいってください。


●mknmz on Panther(10.3の場合です。あるいは、perl 5.8.1以降の場合です。)

 以上でインストールは終了です。が、Panther(10.3.5)ではこのままmknmzすると「Run mknmz with the environment variable PERL_HASH_SEED=0」というエラーがでます。

 これ、Pantherというより、perlの問題です。Pantherではperl 5.8.1がインストールされます。エラーの原因は、perl 5.8.1以降で導入されたhashをランダムに生成する機能にあります。hash元がわからんとエラーを返しているらしいです。

 解決方法は簡単で、環境変数PERL_HASH_SEEDを0にセットするだけです。この操作は、mknmzをする前に1回行う必要があります。

setenv PERL_HASH_SEED 0

 この操作を行った後、mknmzを実行するようにしてください。

 おっと、もう一つ、環境変数LANGのセットも忘れずに。これをやらないと日本語のインデックスを作ってくれませんので。

setenv LANG ja

 10.3.5ではこれだけの操作でmknmzを実行すると次の警告が表示されます。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
LANG = "ja"
are supported and installed on your system.

 放っておいてもいいと思いますが、気持ち悪いという方はmknmzの前に次の操作もしてください。この警告がでなくなります。

setenv LC_ALL ja_JP.eucJP


●設定ファイルの注意

 一つだけ注意があります。OS Xでは「.」ピリオドで始まるファイルは自動的に不可視になります。

 というわけで、namazu.cgiの設定ファイル「.namazurc」は見えなくなります。このファイルはnamazu.cgiと同じディレクトリにおきますが(他の方法もある。本文参照)、見えないと不便です。

 UNIX USERさんに掲示板でアイディアをいただきました。シンボリックリンクを作ります。「ln -s .namazurc namazurc」とやります。「.namazucrc」が実体で、「namazucrc」がシンボリックです。こうしておけば、「namazurc」の内容を変更するだけで自動的に「.namazurc」も変更されます。逆にする(「namazucrc」を実体にする)とpnamazuでは動作しますが、namazuでは動作しません。

 おっと、初期設定ではシンボリックリンクを許可していませんから、変更しておかないといけないです。シンボリックリンクを許可する方法は「Mac OS XDarwin Tips」を参照してください。

 また、mknamazuの設定ファイル「mknmzrc」は、インデックスを作る際に任意に指定できますから(例:mknmz -f, --config=/home/name/namazu/mknmzrc /home/name/target_directory)、適当な位置に「mknmzrc」という名前でおいておき、インデックス作成の際に指定すると良いでしょう。mknmzコマンドの実行前にINDEXディレクトリに移動するか、INDEXの位置を指定するのを忘れずに。

 pnamazuとの組み合わせも試してみました。手元のMACでインデックスを作り、そのインデックスとpnamazuをサーバにアップロードして手軽にNAMAZU検索をサーバで実現できました。

▲トップページ