sendmailのビルドに手間ひま

そもそものきっかけは sudo
LFS に BLFS のいくつかのパッケージを入れていく中で、sudo も入れた。
何気なくビルド後に configure のログを見ていて、「あぁそうか MTAを入れるべきなんだな」と。

sendmail を入れることにした。でも・・・・ ビルド後の newaliases -v でエラー。
BLFS ブック、メンテできていない、というところか・・・
/etc/mail/aliases.db: Invalid type 5 specified
Cannot open hash database /etc/mail/aliases.db: Invalid argument
WARNING: cannot open alias database /etc/mail/aliases
Cannot create database for alias file /etc/mail/aliases

sendmail が Berkeley DB 5 に対応するコーディングになっていないから、だそうだ。
RedHat にてパッチが出ていた。sendmail の最新 8.14.5 のものではなかったので自分でパッチ作る。
diff -Naur sendmail-8.14.5.orig/include/sm/bdb.h sendmail-8.14.5/include/sm/bdb.h
--- sendmail-8.14.5.orig/include/sm/bdb.h 2003-03-07 01:30:05.000000000 +0900
+++ sendmail-8.14.5/include/sm/bdb.h 2011-08-20 19:02:59.102572293 +0900
@@ -19,7 +19,8 @@
# define DB_VERSION_MAJOR 1
# endif /* ! DB_VERSION_MAJOR */

-# if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1
+# if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1) || \
+ (DB_VERSION_MAJOR >= 5)

# define DBTXN NULL ,

でビルドしても、 newaliases -v のエラーは変わらず。
Berkeley DB は BLFS では 4.8.26 がずっと掲載されており、それを用いてきていたが、
バージョン古すぎるのがまずいらしい。4.8.30 以上でないとダメとか。
BLFSメーリングリスト

いっそのこと、Oracle のサイトから本日最新の db-5.2.28 を取ってきて、
上記のパッチも当てた上で、newaliases 正常完了。

何よりも驚いたことだが、Berkeley DB のバージョン表記として、
Berkeley DB 11gR2 (11.2.5.2.28)
となっている。なんじゃそりゃ!

11g (イレブンジー)で 5.2.28 なの? へんなバージョン振りだこと。
ってことは、今までは 10gR2 で 4.2.28 なんかにしていたってこと?

カテゴリー: LFS パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です