IMAP サーバをコンパイルする

初めに、tarアーカイブから、ファイルを展開し、 "cyrus-imapd-NNNN" (NNNN はバージョンナンバ) ディレクトリに"cd"します。 そこには、設定ファイルや、さまざまなサブディレクトリが存在します。 そのディレクトリには、configureファイルがありますので、 "./configure"と入力し、ソフトウェアを設定します。 ぜひ、このドキュメントを引き続き読んで、あなたに合ったスイッチを、 ./configure に指定してください。

configure の概要

"configure" シェルスクリプトは、コンパイル中に使用される、 さまざまなシステム依存変数の値を推測し、補正しようと試みます。 それら値を使用し、パッケージの同じディレクトリ内に、 "Makefile" を生成します。 最後に、"config.status"シェルスクリプトファイルを生成し、 それにより、将来現在の設定を再度生成することができ、 "config.cache" ファイルは、再設定を高速化するために、 そのテスト結果を保存し、 "config.log" ファイルは、コンパイラの出力を含みます (主に、"configure"のデバッグに役立ちます)。

"configure" の実行にはしばらくかかります。 実行中、チェックするための機能で、いくらかのメッセージを表示してしらせます。

ソースコードディレクトリ以外でパッケージをコンパイルすることができます。 同一コンピュータ上で同時に2つ以上コンパイルすることを可能にします。 これを行うとき、GNU "make"のような、"VPATH"変数をサポートする バージョンの"make"を使用する必要があります。 目的ファイルと実行可能ファイルを生成したいディレクトリに"cd"し、 "configure"スクリプトを実行します。 "configure" は、自動的にソースコードが、 "configure"のあるディレクトリと、".."ディレクトリに 存在するかチェックします。

デフォルトで、"make install"は、"/usr/local/bin", "/usr/local/man"などに、ファイルをインストールします(サーバ特有のプログラムを除き)。 "--prefix=PATH"オプションを、"configure"に与えることにより、 "/usr/local"とは異なる場所を、指定してインストールできます。

アーキテクチャ依存/非依存ファイルのインストール先を個別に指定可能です。 "configure" に オプション"--exec-prefix=PATH" を与えた場合、 パッケージは、プログラムとライブラリのインストール先として、PATHを使用します。 ドキュメントと、他のデータファイルは、標準を使用します。

デフォルトで、"make install"は、サーバ特有のプログラムを、 "/usr/cyrus/bin"にインストールします。 サーバ特有ファイルのインストール先を、"configure"に、 オプションとして、"--with-cyrus-prefix=PATH"を与えることで、 "/usr/cyrus"以外に指定できます。

configureに対するオプション。

これらは、"configure" とともに使用可能なスイッチのリストです。

--help
"configure"のオプションに関する要約を表示して終了します。

--with-auth=METHOD
使用する認証(group membership)モジュールを指定する。 現在実装している認証モジュールは:
unix
Unix /etc/passwd/etc/group ファイル
krb
Kerberos の主要部 (Kerberos ライブラリが必要)。 オプションで、ここで、Kerberos v4 を見つけるために、"--with-krb=DIR"を指定します。 注意: Kerberos v4 サポートは DES ライブラリを必要とします。 Soralisを含む、Kerberos のいくつかのベンダのものは、このサポートを持たないため使用不能です。
krb_pts
Kerberos 主要部に AFS PTserver グループを指定 (Kerberos と AFS ライブラリが必要)。 オプションで、 "--with-afs=PATH"で、AFS ライブラリの所在を指定します。 上記 krbサポートと同じに必要となります。
SASLをともなう、どの認証手段も、それらの認証モジュールをともなうことで、使用可能となります。

--with-cyrus-group=USER
setguidプログラムをインストールする際に使用するグループを指定します。 デフォルトで、configure は、"mail"を使用します。

--with-cyrus-prefix=PATH
サーバソフトウェアの位置を変更します。 デフォルトで、cyrus-prefix/usr/cyrusとなります。

--with-cyrus-user=USER
Cyrus IMAP サーバの実行時のuseridを指定します。 デフォルトで、configure は、"cyrus" を使用します。

--with-notify=METHOD
--without-notify
使用する、新着メール通知手段を指定します。 現在実装されている通知手段は:
zephyr
Zephyrを通して、新着メールを通知します。 zephyr のインストール一を"--with-zephyr=PATH"で、指定します。
no
新着メールを通知しない。
デフォルトでは、Zephyrライブラリが使用し可能な場合、"zephyr" を使用し、 他の場合、"no"を使用します。

--with-sasldir=PATH
libsasl用の、ライブラリ(.../lib) と インクルード (.../include) ファイルが含まれるディレクトリへのパスを指定します。

--with-statedir=PATH
さまざまなデーモンと会話するためのディレクトリを指定します。 デフォルトで、configure は、"/var"を使用します。

--with-openssl=PATH
OpenSSL ライブラリを見つけるためのディレクトリを指定します。

--with-inn=PATH
INN の NEWSLIB ディレクトリ位置を指定します。 デフォルトで、INNを非常に一般的な場所から探します。 "configure"がINNを探す必要がある場合のみで、 IMAPを使用してニュースグループを公開したいときに使用します。

--with-tcl=PATH
--without-tcl
Tcl (version 7.5 or 7.6) ライブラリとヘッダファイル(オプション)へのパスを指定します。 デフォルトで、"/usr/local"と、コンパイラのデフォルトリンクパスがあれば探します。 Tcl ライブラリは、"cyradm"(管理クライアント)をコンパイルするときに必要です。 Tclをともなわないコンパイルでは、"--disable-cyradm" スイッチを configure に与えることが必要となります。.

--with-lock=METHOD
使用するロック手段を指定します。 現実装でのロック手段は:
flock
flock() によるロック
fcntl
fcntl() によるロック
デフォルトで、"flock()"関数が存在する場合、"flock"で、 他の場合、"fcntl" を使用します。

--disable-sieve
デフォルトで Sieve サポートは有効になっています。 --disable-sieve を使用することで、Sieve ライブラリのコンパイルと、 全ての Sieve サポートを無効にできます。

--disable-cyradm
管理クライアントcyradmをコンパイルしない。

--disable-server
IMAP サーバプログラムをコンパイルしない。

"configure" は、他の引数を与えた場合、無視します。

いくつかのシステムでは"configure"スクリプトがコンパイルやリンクに関して 認識不能な場合、一般的ではないオプションを指定する必要があります。 "configure"の変数初期値をシステムの環境変数で与えることができます。 Bourne-コンパチ名シェルを使用している場合、このようにコマンドラインで行えます:

   CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
また、システムが "env" プログラムを持つ場合、以下のようになります:
   env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
"configure"を実行する際に、"make"の値を環境変数で、 上書きしたい場合:
CC
C コンパイラプログラム。
デフォルトは "cc"、または、"gcc" がPATHに存在する場合"gcc"です。
("CC"の場合、どんな値が環境変数に与えられていても"configure"が意図した選択をするために、 上書きされます。)
CFLAGS
Cコンパイラのデバッグと最適化オプション。
CPPFLAGS
Cプリプロセッサとコンパイラの、ヘッダファイル検索ディレクトリ("-IDIR") と、 他の雑多なオプション。 "configure"実行時に、環境変数にセットされていない場合、デフォルト値は、空です。
LDFLAGS
リンカに対する、ストリップ("-s") と他の雑多なオプション。 "configure"実行時に、環境変数にセットされていない場合、デフォルト値は、空です。
DEFS
"-Dfoo -Dbar ..." 形式の設定オプション
LIBS
"-lfoo -lbar ..."形式の、リンクするライブラリ
("DEFS" と "LIBS"の場合、"configure"が選択する値は、 与えられた環境変数に追加されます。)
パッケージを独自なものでまとめたい場合、"configure"が、 どのようにしてそれらをチェックできるかどうか理解することを推奨します。 行ったら、パッチを送ってください! 実行の手引きは、フィードバックページで見つけることができます。

"configure.in" ファイルは、"autoconf"プログラムによって、 生成される"configure"のテンプレートとして使用されます。 それは、さらに新しいバージョンの"autoconf"を使用して、 "configure" を再生成したい場合のみ必要となります。

一度 "configure" の実行に成功したら、以下のコマンドを実行します:

   make depend
   make all CFLAGS=-O
望む場合、"make"変数の、CFLAGSLDFLAGS は、以下のように入力して、上書きできます:
   make all CFLAGS=-O2 LDFLAGS=-s


最終変更: $日付: 2000/05/28 19:48:59 $