From: MORITA Hideyuki Date: 2008-01-30T12:59:24+09:00 Subject: [ruby-dev:33518] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) 森田です。 On 2008/01/30, at 1:34, Nobuyoshi Nakada wrote: >> 適切な場所に _XOPEN_SOURCE を定義できれば解決できそ >> うなのですが。 > > コマンドラインで指定するとどうでしょうか。 > > make DEFS=-D_XOPEN_SOURCE=1 > > とか。 make DEFS=-D_XOPEN_SOURCE=1 を試してみましたがだめでした。 コマンドの出力を見ると、gcc に対してオプションを渡して いる感じも ないので、どうも DEFS が MacOSX のコンパイル環境 では無視される ようです。 代わりに、configure 時に CFLAGS オプションとして 指定したところ、 ちゃんとコンパイルできました。 ./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1 ということで、Leopard の場合に CFLAGS で _XOPEN_SOURCE を 定義する configure.in パッチを一応作ってみました。 --- configure.in.orig 2008-01-30 11:22:45.000000000 +0900 +++ configure.in 2008-01-30 11:34:56.000000000 +0900 @@ -1422,7 +1422,15 @@ CFLAGS="$CFLAGS -pipe -no-precomp -fno-common" ;; darwin*) - CFLAGS="$CFLAGS -pipe -fno-common" + # for 'ucontext_t' struct implemented with _XOPEN_SOURCE symbol on Leopard. + case "$target_os" in + darwin9*) + CFLAGS="$CFLAGS -pipe -fno-common -D_XOPEN_SOURCE=1" + ;; + *) + CFLAGS="$CFLAGS -pipe -fno-common" + ;; + esac MINIOBJS=dmydln.o ;; os2-emx) --- 森田 秀幸 h-morita@esm.co.jp