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 仕事場