From: Ryutaro Amano Date: 2006-09-30T18:52:04+09:00 Subject: [ruby-list:42849] Re: macosxでRubyインストール 塰 でエラー 天野竜太郎です。 普段は、Mac OSXを使っています。(10.4.8です) 上間さんは、10.3.9をお使いのようですが、現状ではAqua 版のTkは使えないと思います。 問題点を整理したいのですが、 1,今現在X11を立ち上げた後のunix版のtkは使え ているわけですよね? 2,しかしAqua版のruby-tkを使いたい。 ここまでは正しいのでしょうか? easypackageのtcl,tk は、通常のunix版ですので(使ったことはありませんが、そのは ずです)、x11を起動後でないと使えません。x11を起動せ ずにターミナルから require "tk"としてもエラーになるはずです。 Aqua版のruby-tkを使うためには、 1,自分でunix用のtcl,tkのソースコード (8.4.13)をダウンロードしてきて、Aquaとして configure,make,make installする。 2,AquaTclTkのサイトからバイナリー(8.4.10)をダウ ンロードしてインストールする。 http://tcltkaqua.sourceforge.net/ 3,ActiveTclのサイトからバイナリーをダウンロードしてイン ストールする。 http://www.activestate.com/Products/ActiveTcl/ ただし、こちらの8.5.0はベータでちょっと不安定のようです。 安定版の8.4.13がどこにあるのか不明。 以上いずれかを行った後、rubyをインストール(あるいはruby- tkのみコンパイルし直す)する必要があります。 (10.4では最初からAqua形式でtcl,tkがインストー ルされていますので、ふつうにrubyをインストールしただけで、 x11を起動することなくAqua形式でruby-tkが使えますが、 10.3ではtclしかインストールされていませんので、自力で Aqua形式でtcl,tkをインストールする必要があります。) 気になる点が少し。 >>./configure --prefix=/usr --enable-pthread --enable-tcltk-framework とのことですが、元々/usr以下にデフォルトのruby (1.6.8)がインストールされていたわけですから、そこへ 1.8.5をインストールしていいのかなという気がします。 普通は --prefix=/usr/local だと思うのですが、 で、Aqua版のruby-tkを使いたいということでしたら、 1,いくつもtcl,tkがインストールされていても面倒なので、 easypackageのtcl,tkは削除。 2,上記の1,2,3のいずれかの方法で、Aqua 形式のtcl,tk(つまりFramework)をインストールする。 2,3のバイナリの場合は、tcl、tkが--enable- threadsで作られているようですので、ruby側で --enable-pthreadは必須。1のソースからインストールした際は、 tcl,tkに --enable-threadsをつけない場合は、ruby側で--enable- pthreadはいりません。 3、rubyを /configure --prefix=/usr/local --enable-shared --enable-pthread -- enable-tcltk-framework でインストールする。(--enable-sharedはなくてもいいとは思う けど) 4、~/.bash_profileなどを使い/usr/local/binが/usr/ binより先に来るようにパスを通す。 5,ターミナルを再起動して、irbで、 require "tk" Tk.mainloop で、Aquaのruby-tkが起動する(ただしターミナルウイン ドウの背後にくると思います) これでokだと思います。 Ryutaro Amano wn9r-amn@asahi-net.or.jp