Solaris の autotools
IMAP サーバに関しては、以前は courier IMAP を使用していたのだが、認証サーバが別立てだったりと構成が面倒なことから、今回は dovecot を試してみることに。
で、dovecot は Mercurial リポジトリ経由でソース公開されているということなので、それならばと、まずはリポジトリ経由で入手したソースでビルドを。
リポジトリ経由で入手したソースからのビルドの場合、まずは ./autogen.sh を実行しろということなので、言われるままに実行してみると:
tar: z: unknown function modifier Usage: tar {c|r|t|u|x} ..... Failed to uncompress wiki docs
あぁ、OpenSolaris のデフォルトの tar は、GNU tar じゃないから、"z" を認識できないんだよなぁ。っつーか、ポータビリティとかを考えて、gunzip 〜 tar のパイプ連携にして欲しいなぁ。
ということで、gtar を実行するように quick hack した autogen.sh を実行すると:
Can't exec "aclocal": No such file or directory at /usr/bin/autoreconf line 182. Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 182.
は? aclocal が実行できない?あれ?おかしいなぁ。aclocal は automake (SUNWgnu-automake-110) パッケージでインストール済みなんだけど....あ!確かに aclocal バイナリが無い!
ネットの海を彷徨うこと暫し。瀧さんのブログのエントリ曰く:
OpenSolarisは、aclocalという名で実行できないので、シンボリックリンクで回避します。
なんじゃ、そりゃ?あぁ、"pkg contents" で見れば、確かに aclocal にはバージョン番号が付いてるわ ....
$ pkg contents SUNWgnu-automake-110 | grep bin/aclocal usr/bin/aclocal-1.10
念のため確認してみたら、他にも automake コマンドにバージョン番号が .... orz
ということで、一通りシンボリックリンクを張って再び autogen.sh。
それにしても、パッケージ更新の際に、別なバージョン番号を名前に付けたコマンドがインストールされたら、再度シンボリックリンクを張り直す必要があるのか? .... 面倒臭ぇ〜。
再度の autogen.sh では、AM_ICONV が無いとか何とか。
iconv 系ということで、とりあえず以下をまとめてインストール。
- SUNWiconv-extra
- SUNWiconv-unicode
SUNWgnu-libiconv とかいうパッケージもあるのだが、どうやら依存解決専用パッケージらしく、contents 表示は何も無しなので、これは関係なさそう(あるいは、上記パッケージをまとめてインストールするための起点?)。
ネットの海を彷徨った限りでは、「AM_ICONV 不在の解消は gettext を入れれば良い」とのことらしいのだが、そもそも SUNWgnu-gettext をインストール済みなので、他にはどうしようも無い。
結局 iconv 系パッケージを導入したところ、「AM_ICONV が無い」警告は出続けるものの、とりあえず autogen.sh は正常終了。うーむ、大丈夫か?
./configure してみると、やっぱり途中で「AM_ICONV が無い」エラー(or 警告?)が出ているが、configure 自体は正常終了するし、その後の make でもコンパイルエラー等は生じない模様。
試しに、ソースアーカイブをダウンロードして configure & make してみると .... 無事に終了。うーむ、ソースアーカイブでビルドするか .... orz