Hi, =


Thank you for your report.

From: L=E1szl=F3 F=F6ldes <foldes.laszlo2 / gmail.com>
Subject: Tk and Tile with Tk8.5
Date: Sat, 2 Apr 2011 09:45:24 +0900
Message-ID: <07a7e2ba2709d9e19d380257946e93e6 / ruby-forum.com>
> I want to use Ruby 1.9.1 (Ubuntu 10.10) with Tk8.5 Tile, but this sam=
le
> code:
   (snip)
> fails with:
> $ ruby tk_test.rb
> /usr/lib/ruby/1.9.1/tkextlib/tile.rb:46:in `rescue in <top (required)=
>':
> undefined method `__cannot_find_tk_package_for_widget_set__' for
> Tk:Module (NoMethodError)

I'm very sorry. It's a bug which should be fixed.
But it is not a primary problem for your trouble.
If tile extension is installed (or Tcl/Tk is 8.5 or later), =

Ruby/Tk doesn't use the bugged routine.

> Am I doing something wrong? I'm not a source code compiler type, I
> installed everything from aptitude (Ruby 1.9.1, Tk8.4, Tk8.5, Tcl8.4,=

> Tcl8.5)

Probably, your ruby's tcltklib.so is linked with Tcl/Tk8.4.
Please check the result of 'ruby -r tk -e "p Tk::TK_PATCHLEVEL"'.
If it shows 8.4.x, your tcltklib.so uses libraries of Tcl/Tk8.4.

To fix it, please install tile extension for your Tcl/Tk8.4, =

or re-compile your ruby's tcltklib.so with Tcl/Tk8.5.
I'm not familiar with Ubuntu. So, I don't know which is better.
If igonore it, I recommend you to re-compile tcltklib.so, =

because Tcl/Tk8.5 is better than Tcl/Tk8.4.
-- =

Hidetoshi NAGAI (nagai / ai.kyutech.ac.jp)
Department of Artificial Intelligence, Kyushu Institute of Technology