おかもとです。 > | WNOHANG は sys/wait.h で定義されてます。どうも configure で > | 拾ってくれないようなので、とりあえずコンパイルするには > | > |#include <sys/wait.h> > | > | を process.c と pty.c の頭に入れれば OK でした(1.4.0 の場合)。 > > むむ。ということは問題はなぜ sys/wait.h の検出に失敗するかで > すね。config.cacheを消してからconfigureしたconfig.logの内容 > が見れればすこしは分かると思うのですが。 NeXT Step 4.2J 上で ruby-1.4.5 の config.log の該当部分です。 ---- ここから configure:2201: checking for sys/wait.h that is POSIX.1 compatible configure:2222: cc -c -g -O2 conftest.c 1>&5 configure: In function `main': configure:2217: warning: passing arg 1 of `wait' from incompatible pointer type configure:2218: request for member `w_S' in something not a structure or union configure:2218: request for member `w_T' in something not a structure or union configure: failed program was: #line 2206 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> #ifndef WEXITSTATUS #define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED #define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main() { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } ----- ここまで 上記のようになるので、修正無しでは process.c: In function `rb_waitpid': process.c:88: `WNOHANG' undeclared (first use this function) process.c:88: (Each undeclared identifier is reported only once process.c:88: for each function it appears in.) *** Exit 1 Stop. としてコンパイルが止まってしまいます。 また、 > OpenStep 4.2 Machでは > > * strdupがなく(またはstring.hがなく) ですが、NeXT Step 4.2J では string.h はさすがにあります。 /usr/include/ansi/string.h ただ、strdup は無いようです。grep で探してもありませんでした。 ------------------------------------- おかもと のりゆき(Noriyuki Okamoto) okamoto / ish.ic.kanagawa-it.ac.jp