稲員です。

On Fri, 16 Apr 2010 00:53:47 +0900
もじもじ <mojimoji...@yahoo.co.jp> wrote:

> > おっしゃっているように ports で postfix を作り、同一マシン上で実行して
> > 上記エラーとなるということであれば、kernel とユーザーランドの整合性が取
> > れていないということになると思います。
> 
> 私もそう思っています。

「そう思う」ということは、何か心当たりがあるんでしょうか?
元のメールでも /usr/src/tools/regression/file/closefrom 以下の
リグレッションテストを実行されているようですが、これが当該システム上に存在
するものであれば、少なくともソースツリーは素の 7.2-RELEASE のものでは
ない様ですし。

> > 7.3-RELEASE にアップグレードしたがリブートしていないとか、postfix を別
> > マシンで作って持ち込んだ、あるいは、7.3 用の package をインストールした
> > ぐらいしか思いつきません。
> 
> 7.3 は全く触っておりません。
> postfix を再コンパイルしまくっているので、別のマシンとい
> う可能性も無いと思います。
> 7.3 の package かとも思いましたが、どこで設定するのかすら
> 分からない状態です。

素の 7.2-RELEASE 上でコンパイルしたバイナリが closefrom を呼ぶとは考え
にくいので、当該システム上でビルドしたのが間違い無いなら、やはり梅本さんが
おっしゃるように kernel とユーザーランドの整合性に問題がある様に思えます。

そのシステム上での

    % grep __FreeBSD_version /usr/include/sys/param.h

の実行結果はどうなりますか?
もし __FreeBSD_version が 702104 以上の値になっているなら、ユーザーランド
が closefrom(2) 導入後のものになっているのだと思います。あと、

    % nm -D /lib/libc.so.7 | grep closefrom

の実行結果はどうなりますか? 因に、自宅の 8.0-STABLE では

    00045a30 T __sys_closefrom
    00045a30 W _closefrom
    00045a30 W closefrom

となりますが、 closefrom(2) を持たないシステムではなにも表示されないはずです。


-- 
Rikito INAKAZU <riki1017k...@gmail.com>

メールによる返信