永井@知能.九工大です. From: Ryutaro Amano <wn9r-amn / asahi-net.or.jp> Subject: [ruby-list:45149] Re: ソース:インストール:MacOSX10.3.9 Date: Fri, 27 Jun 2008 23:09:37 +0900 Message-ID: <B64D1AE8-19F0-424B-9285-7A1B84E51E9B / asahi-net.or.jp> > extconf.rbへのpatch確かめました。OKです。 テストしていただいてありがとうございました. enable-tcltk-framework の時には tcl.h, tk.h のチェックを行わないことで 問題はないようですね. > 10.3.9+ruby-1.8.7-p22+8.5.2binaryのmakeエラーは以下のよ > うになります。 (snip) > ActiveTcl-8.5.2とTclTkAqua-8.5.2は、どちらもthreaded > です。 Tcl/Tk ライブラリの thread 対応の判別に失敗しているのが 一つの原因のようですね. README.tcltklib の末尾あたりにある --enable-tcl-thread を configure オプションに追加して,threaded であることを明示してやると どうなるでしょうか. > > また,以前のメールに記載されていた CFLAGS=- > > D_XOPEN_SOURCE=1 は > > どのような環境では必要なのか (必要と判断されたの > > か) も > > わかりましたら教えてください. > > これは、[ruby-dev:33461] 以下のスレを見て、自分の環境で > 試したところ、 > 10.5.xの環境+PowerPCMacでは、CFLAGS=- > D_XOPEN_SOURCE=1がないと1.8 > .xは、makeでこけるとわかったということです。 10.5.x の PowerPC の場合には必ずそうなるんでしょうか. intel Mac では必要ないという報告もありましたし... 10.3.9 のエラーログの分には -D_XOPEN_SOURCE となっているんですよね. う〜む.何が悪いんだろう??? > > TclTkAqua-8.4.10だとエラーはおきません。ただし、tk/sample/demos- > > jp/widget > > は、漢字の部分が文字化けです。 > > TclTkAquaのwishは、英語なので、日本語の説明はありません > が、unicodeのサンプルは文字化けしています。 Tcl/Tk 自体がそうであるなら,Ruby/Tk ではどうしようもないですね. まずは TclTkAqua に頑張ってもらうしかありません. > > Tk_MacOSXSetupTkNotifier: first [load] of TkAqua has to occur in the > > main thread! > > Abort trap > 上記用のpatchを当てても同じ結果です。 > > 10.5.3環境で、8.5.2をソースからインストールした > 後、patchを当てて1.9.0-2をインストールしても同じ > 結果でした。 そうですか... そうなるとこの件の解決はかなりやっかいなのかもしれません. インタープリタ初期化時のイベントループと native thread との絡み ってことになるのでしょうけど... 時間をかけて丁寧に検討する必要があるかもしれません. やはり開発環境がないと厳しいですね. 別の報告にあったように intel Mac では生じず, PowerPC Mac のみで生じる問題というのであれば MacOS X 版の Tcl/Tk の問題という可能性もありうるのですが... MacOS X ユーザとして,何か気が付いたことはありませんか? -- 永井 秀利 (nagai / ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系