彷徨えるフジワラ

年がら年中さまよってます

Solaris の autotools

IMAP サーバに関しては、以前は courier IMAP を使用していたのだが、認証サーバが別立てだったりと構成が面倒なことから、今回は dovecot を試してみることに。

で、dovecotMercurial リポジトリ経由でソース公開されているということなので、それならばと、まずはリポジトリ経由で入手したソースでビルドを。

リポジトリ経由で入手したソースからのビルドの場合、まずは ./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