[ruby-list:49525] Re: OSX ruby-tkのextconf.rb
From:
Hidetoshi NAGAI <nagai@...>
Date:
2013-08-01 22:41:18 UTC
List:
ruby-list #49525
永井@知能.九工大です.
From: 天野 竜太郎 <pikara-giresse82@mb.pikara.ne.jp>
Subject: [ruby-list:49521] Re: OSX ruby-tkのextconf.rb
Date: Thu, 1 Aug 2013 20:25:59 +0900
Message-ID: <3046485D-6F24-470F-BDA6-FDC23508B1E6@mb.pikara.ne.jp>
> 天野です。
> 1.9.3-p448の方は、typoの修正で動作しました。
> 2.0.0-p247は、require "tk"で落ちます。
>
> $ ru2/bin/irb
> irb(main):001:0> require "tk"
> objc[32377]: Class TKApplication is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
> objc[32377]: Class TKMenu is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
> objc[32377]: Class TKContentView is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
> objc[32377]: Class TKWindow is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
> RuntimeError: tcltklib: fail to Tk_Init(). Can't find a usable tk.tcl in the following directories:
> /System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Scripts
>
> /System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Scripts/tk.tcl: version conflict for package "Tk": have 8.5.14, need exactly 8.5.9
> version conflict for package "Tk": have 8.5.14, need exactly 8.5.9
> while executing
> "package require -exact Tk 8.5.9"
> (file "/System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Scripts/tk.tcl" line 20)
> invoked from within
> "source /System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Scripts/tk.tcl"
> ("uplevel" body line 1)
> invoked from within
> "uplevel #0 [list source $file]"
これを見ると,Tcl/Tk 8.5.9 と 8.5.14 とが両方インストール
(/System/Library が 8.5.14 で /Library が 8.5.9 ?) されていて,
読み込もうとしているライブラリが不整合を起こしていますね.
extconf.rb でのライブラリの自動検索がうまくいっていないようです.
念のためですが,自動検索だけの問題なのかを確認するために
configure オプションとして --with-tcltk-framework=/System/Library/Frameworks
を指定した場合にどうなるかをテストしていただくことはできますか?
その場合,オプションを指定しなかった場合と指定した場合とでの
ext/tk/Makefile の差分を送っていただけると助かります.
--
永井 秀利 (nagai@ai.kyutech.ac.jp)
九州工業大学大学院情報工学研究院知能情報工学研究系知能情報メディア部門助教