東志と申します

ezjailで作成したjail環境下で、portsから入れたopenldap23-serverのslapdが
起動時にエラーとなり、動作しません。

OSは FreeBSD 7.0 RELEASE-p6、portsは12/19 AM10:00頃の最新です。
また、basejailについても cvsup後に ezjail-admin update, 
ezjail-admin update -Pで最新の状態に更新済みです。

エラーメッセージを頼りに、デバッガで追ったところ、
server/slapd/alock.c(53)のlockf()で、EINVALが発生する事が判りましたが、
なぜそうなるのかは判っていません。

取りあえず、lockf()を使わないよう、include/portable.hから、
#define HAVE_LOCKFをコメントアウトし、fcntl()を使うようにした上で
再ビルドしたところ、正常に動作することを確認できました。


上記について、

- 当方の環境に依存した現象なのか
- そもそも、fcntl()でロックできるファイルが、lockf()でロックできない
 という事があり得るのか?

これらについて知見がありましたら、ご教示いただければと思います。


メールによる返信