
				mDNkit
		    コンパイルとインストールの方法
       (社) 日本ネットワークインフォメーションセンター (JPNIC)


本パッケージのコンパイルおよびインストールは、次のようなステップで行
います。

    + 前準備: iconv() が利用できるようにする
    + システム設定: `configure' スクリプトの実行
    + コンパイル: `make' の実行
    + インストール: `make install' の実行
    + サイト毎の設定: `mdn.conf' による設定
    + 設定の確認 (省略可)


0. 前準備
  
もしあなたの使用しているシステムのライブラリに iconv() がない場合、あ
るいはあっても UTF-8 を扱うことができない場合にはあらかじめ iconv() を
インストールしておいてください。iconv() は、例えば GNU libiconv と呼ば
れるフリー (LGPL) の実装が

	http://clisp.cons.org/~haible/packages-libiconv.html

から入手可能です。

*注意*
  GNU libiconv-1.6.1 は NetBSD 1.5 との組合わせで問題があり、コンパイ
  ル時にエラーが発生します。このバグを修正するためのパッチが
  patch/libiconv ディレクトリの下に用意されていますので、この問題に遭
  遇した場合には libiconv にパッチを当てて再インストールしてください。
  なお、パッチの当て方はパッチファイルの先頭に書かれています。


1. configure スクリプトの実行

トップディレクトリにある configure スクリプトを実行してください。

	% ./configure

configure スクリプトには、数多くのオプションが用意されています。そのう
ち重要と思われるものは次の通りです。

    --prefix=PREFIX
	mDNkit をインストールするディレクトリのパスを指定します。デフォ
	ルトは /usr/local です。

    --with-libiconv=LIBICONV_PREFIX
	あらかじめインストールしてある GNU libiconv を mDNkit にリンク
	させる場合は、このオプションを指定して下さい。引数 LIBICONV_PREFIX
	には、GNU libiconv がインストールされている位置を指定します。
	引数を省略すると、PREFIX (PREFIX の値は --prefix=PREFIX から
	導出されます) を指定したものと見なされます。

	--with-libiconv は GNU libiconv 用の短縮形のオプションで

	    --with-libiconv=/usr/local

	これは次と等価になります。

	    --with-iconv-include='-I/usr/local/include'
	    --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv'

	短縮形のオプション (--with-libiconv) と通常用のオプション
	(--with-iconv-include, --with-iconv) を両方とも指定した場合は、
	通常用のオプションほうが優先されます。

    --with-iconv-include=ICONV_INCDIR
	C コンパイラが通常では検索しないディレクトリに "iconv.h" が置
	かれている場合、次のようにしてそのディレクトリを指定します。
	
	    --with-iconv-include=/usr/local/include

    --with-iconv=ICONV_LIB
	libc に iconv が入っていない場合 (上記のパッケージを入れた
	場合など) に、iconv のライブラリを指定します。例えば

		--with-iconv="-L/usr/local/lib -liconv"

	のように指定します。もし iconv が共有ライブラリになっている
	場合には、-R オプションも指定して

		--with-iconv="-L/usr/local/lib -R/usr/local/lib -liconv"

	とする必要があるかもしれません。

    --with-iconv-sofile=SOFILE_PATH
	mDNkit に含まれている runmdn コマンドは、iconv() が libc の一
	部として提供されないときに、iconv() を含む共有ライブラリへのパ
	ス名を知る必要があります。mDNkit は、--with-iconv オプションの
	記述を基にパス名を検索しますが、これに失敗したときに、以下のよ
	うに共有ライブラリを指定することができます。

		--with-iconv-sofile=/usr/local/lib/libiconvv.so.2.0

    --with-utf8=UTF8_NAME
	iconv に utf-8 エンコーディングを指定する場合、本ライブラリは
	デフォルトでは "UTF-8" という名前を指定します。もしあなたの
	システムの iconv が "UTF-8" という名前を受け付けない場合には、
	代りの名前を指定します。例えば "UTF-8" ではなく "utf8" の
	場合には次のように指定します。

		--with-utf8=utf8


2. その他の configure のオプション

それほどよく使うわけではありませんが、configure には前項のもの以外に
も様々なオプションが用意されています。

    --with-preference=PREFERENCE
	mDNkit のサンプルコンフィギュレーションファイル (mdn.conf.sample) 
	の設定を PREFERENCE 向けのものにします。またこのオプションを指定
	するとデフォルトのコンフィギュレーションファイル (mdn.conf) が
	インストールされます。ただしファイルがすでに存在している場合には
	インストールしません。
	現在のところ、指定できる PREFERENCE は "jp" のみです。

    --with-amc-ace-z-prefix=AMCZ_PREFIX
	AMC-ACE-Z は DNS プロトコル上で使用される多言語ドメイン名に関し
	て提案されているエンコーディング方式です。このエンコーディング
	でコンコードされたドメイン名と従来の ASCII ドメイン名と区別す
	るためには、固定の接頭辞を用意する必要があります。しかしながら、
	現在の AMCE-ACE-Z のインターネットドラフトでは接頭辞を定義して
	いません。このオプションを用いることで、接頭辞を指定することが
	できます。指定しなければ、"zq--" が接頭辞として定義されます。

    --with-race-prefix=RACE_PREFIX
    --with-dude-prefix=DUDE_PREFIX
	RACE も DUDE も DNS プロトコル上で使用される多言語ドメイン名に
	関して提案されているエンコーディング方式ですが、すでに廃れたも
	のとなっています。エンコーディング方式について記述したインター
	ネットドラフトには接頭辞が定義されていますが、これらのオプショ
	ンを用いて接頭辞を変更することも可能です。

    --exec-prefix=EXEC_PREFIX
	マシン固有のファイルをインストールするディレクトリのパスを指定
	します。デフォルトは PREFIX (``--prefix=PREFIX'' によって指定
	可能、PREFIX のデフォルトは /usr/local) になります。

    --sbindir=SBINDIR
	mdnsproxy をインストールするディレクトリを指定します。デフォル
	トでは EXEC_PREFIX/sbin です。

    --bindir=BINDIR
	mdnconv と runmdn をインストールするディレクトリを指定します。
	デフォルトでは EXEC_PREFIX/bin です。

    --libdir=LIBDIR
	MDN ライブラリ (libmdn) をインストールするディレクトリを指定し
	ます。デフォルトでは EXEC_PREFIX/lib です。

    --includedir=INCDIR
	MDN ライブラリのヘッダファイルをインストールするディレクトリを
	指定します。デフォルトでは PREFIX/include です。

    --sysconfdir=SYSCONFDIR
	MDN ライブラリおよび mdnsproxy の設定ファイルのサンプルをイン
	ストールするディレクトリを指定します。デフォルトでは PREFIX/etc
	です。

    --mandir=MANDIR
	オンラインマニュアルのインストールディレクトリを指定します。
	デフォルトでは PREFIX/man です。

    --datadir=DATADIR
	異なるマシンで共有可能なファイルをインストールするディレクトリ
	を指定します。デフォルトは PREFIX/share です。DATADIR/mdnkit 
	の下に、mDNkit で使用する幾つかのデータファイルがインストール
	されます。

    --localstatedir=LOCALSTATEDIR
    --with-logdir=LOGDIR
	LOGDIR は mdnsproxy のログファイルを出力する標準のディレクトリ
	を指定します。LOGDIR のデフォルトは LOLOCALSTATEDIR/mdnsproxy
	で、LOLOCALSTATEDIR のデフォルトは PREFIX/var です。

    --enable-debug
	デバッグ用のコードを有効にします。デフォルトは "no" (無効) です。

    --enable-shared
	共有ライブラリを作成します。デフォルトは "yes" (作成する) です。

    --enable-static
	静的ライブラリを作成します。デフォルトは "yes" (作成する) です。

configure には他にも多くのオプションがありますが、残りは一般的なオプショ
ンなので説明は省きます。

	% ./configure --help

を実行するとオプションの一覧が表示されます。


3. コンパイル

configure を実行すると Makefile などが生成されますので、続けて makeを
実行してコンパイルします。

	% make


4. インストール

スーパユーザになってインストールします。

	% su
	# make install


5. 設定と使用方法

mDNkit を正しく動作させるには、設定ファイル `mdn.conf' が必要です。
configure スクリプトに --with-preference オプションを指定しなかった場
合にはこのファイルを作成する必要があります。この設定ファイルの詳細につ
いてはmdn.conf のオンラインマニュアルをご覧ください。また設定例が書か
れたサンプルファイル (mdn.conf.sample) もインストールされますのでご利
用ください。

また、mdnsproxy、mdnconv、runmdn といったツールのオンラインマニュアル
も提供されています。これらのコマンドの使い方、設定方法に関してはそちら
を参照してください。

	% man mdn.conf
	% man mdnsproxy
	% man mdnconv
	% man runmdn


6. 設定の確認

`mdnsproxy' という簡単なシェルスクリプトが tools/mdnconv ディレクトリ
に用意されています。このスクリプトを使うと DNS サーバに対して多言語ド
メイン名を問い合わせることができます。設定ファイルの確認に役立つかも知
れません。

`mdnslookup' の使用方法は、次の通りです。

	% tools/mdnconv/mdnslookup <domain-name> <dns-server>

ここで <domain-name> はローカルコードセット (詳しくは mdn.conf のマニュ
アルの ``LOCAL CODESET'' を参照のこと) で書かれた多言語ドメイン名で、
<dns-server> は DNS サーバのホスト名もしくは IP アドレスです。

`mdnslookup' は `mdnconv' および `nslookup' コマンドを用いて、
<dns-server> に対して <domain-name> を引きに行きます。設定に何か間違い
があれば、`mdnconv', `nslookup', あるいは `mdnslookup' 自身によるエラー
メッセージが出力されます。


; $Id: INSTALL.ja,v 1.1 2002/01/02 02:46:19 marka Exp $
