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 ここで はローカルコードセット (詳しくは mdn.conf のマニュ アルの ``LOCAL CODESET'' を参照のこと) で書かれた多言語ドメイン名で、 は DNS サーバのホスト名もしくは IP アドレスです。 `mdnslookup' は `mdnconv' および `nslookup' コマンドを用いて、 に対して を引きに行きます。設定に何か間違い があれば、`mdnconv', `nslookup', あるいは `mdnslookup' 自身によるエラー メッセージが出力されます。 ; $Id: INSTALL.ja,v 1.1.1.1 2003/01/10 00:47:47 bbraun Exp $