[#42835] RubyインストールしたがTKがインストール出来ない — "Kazutomi Ueda" <kazuto@...>

初めまして上田と申します。

16 messages 2006/09/28
[#42837] macosxでRubyインストール 塰 でエラー — 上間 つよし <mugenkai15@...> 2006/09/28

はじめまして

[ruby-list:42849] Re: macosxでRubyインストール 塰 でエラー

From: Ryutaro Amano <wn9r-amn@...>
Date: 2006-09-30 09:52:04 UTC
List: ruby-list #42849
天野竜太郎です。
普段は、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



In This Thread