In message <20031225112313L.aamine / loveruby.net>
	on Thu, 25 Dec 2003 11:23:15 +0900,
	Minero Aoki <aamine / loveruby.net> wrote:
> > > NetBSD/Alpha の dln.c で warning が出ていたので調べてみると、
> > 具体的にどのようなウォーニングなのでしょうか。
> 
> おっと、すみません。
> 以下のように出てます。
なるほど。

> なお「#include <dlfcn.h> にしたほうがよい」と判断した根拠は
> dlopen(3) (だけ) です。
正しいと思います。

> > > 最近の NetBSD では dln.h を #include したほうがよいようです。
> > > いつから入ったのか知らないのでとりあえず 1.6 以上にしてみました。
> > <dlfcn.h>でしょうか。このファイル自体はNetBSD 1.1の頃から存在している
> > ようです。
> 
> 仰るとおり dlfcn.h です。1.1 からにしちゃっていいものですかね。
構わないと思います。ただ、なぜ #ifdef __NetBSD__ で dlfcn.h を使わない
ようなチェックが入っていたのかが気になります。

NetBSD 1.6.1上で、Ruby 1.6.8をコンパイルしてみると、単に"-Wall" が付い
てないので気がついていなかっただけですねぇ...。(当然、同じ修正で -Wall 
を付けるとウォーニングは出なくなります。)

<dlfcn.h>を使わなかった場合は、<nlist.h>, <link.h>とインクルードされま
すが、実行形式がa.outの場合に<link.h>で<dlfcn.h>もインクルードしている
ので、a.outの頃は問題にならなかったのかもしれません。

NetBSDはベースシステムのCFLAGSには、様々なウォーニングのオプションや厳
しい "-Werror" とかも付けていたりするのですが、Rubyについて私はあまり
チェックしたことありませんでした。

-- 
神戸 隆博(かんべ たかひろ)		at 仕事場