きりかノート 3冊め

おあそびプログラミング

port:ruby +tkがOS標準のTk.frameworkにリンクしてたのを修正

2chMacPortsスレで指摘があって調べてみたら、たしかに+tkなのにTk.frameworkにリンクしてる。ext/tkのextconf.rb見るかぎり、明示的に--disable-tcltk-frameworkしないとMacではTk.frameworkを選ぶようになっているようだ。

で、tkバリアントにconfigure.args-appendして終わり!と思ったらそうでもなく。

まず、libtkへのリンカオプションがextconf.rbからMakefileに出力されない。どうもldの-Rオプションが無効だからみたい。-rpath,に書き換えて対処。これでコンパイルはちゃんとできるようになったんだけど、サンプル試しに動かしてみたらSEGVしまくる。どうもTk-8.6にruby/tkが未対応みたい。TkとTclを8.5にしてみたところ、動くようになった。

port:ruby19にも同様の問題があると思うけど、次に更新するときに直すことにしますですよ。