Using of tkextlib in ruby-182-14

I have a problem in using the tkextlib extensions. I have found in the current distribution for windows (ruby 1.8.2 (2004-12-25) [i386-mswin32]) the subdir ruby182\samples\tk\tkextlib\iwidgets\sample which contains a lot of simple examples for using the extensions. When trying these examples by

ruby combobox.rb

I get the following error:

D:\programme\ruby\ruby182\samples\tk\tkextlib\iwidgets\sample>ruby combobox.rb
d:/programme/ruby/ruby182/lib/ruby/1.8/tk/package.rb:86:in `require': TkPackage can't find package Itcl (RuntimeError)
         from d:/programme/ruby/ruby182/lib/ruby/1.8/tkextlib/itcl/incr_tcl.rb:12
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require__'
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require'
         from d:/programme/ruby/ruby182/lib/ruby/1.8/tkextlib/itcl.rb:13
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require__'
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require'
         from d:/programme/ruby/ruby182/lib/ruby/1.8/tkextlib/iwidgets.rb:7
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require__'
         from d:/programme/ruby/ruby182/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `require'
         from combobox.rb:3

Does that mean that the installation is something missing, do I have to install Itcl additionally (and how) ...

When checking the installation by using ruby182\lib\ruby\1.8\tkextlib\pkg_checker.rb, I get a lot of error messages:

Ready : itcl.rb : require->{}
*LACK : itcl/incr_tcl.rb : require->{} FAIL->[["Itcl", :package]]
Ready : itcl/setup.rb : require->{}

*LACK : iwidgets.rb : require->{} FAIL->[["tkextlib/itcl", :require_ruby_lib], ["tkextlib/itk", :require_ruby_lib], ["I
widgets", :package]]
Ready : iwidgets/buttonbox.rb : require->{}
Ready : iwidgets/calendar.rb : require->{}
Ready : iwidgets/canvasprintbox.rb : require->{}
Ready : iwidgets/canvasprintdialog.rb : require->{}
[...]

Could someone enlight me what is going wrong? I would like to use the additional widget combobox, and have found no way to do it.

Thank you for your patience with a starter in Tk on Ruby

Bye

···

--
Markus Liebelt; markus.liebelt@online.de

Hi,

···

From: "Markus Liebelt" <markus.liebelt@online.de>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900
Message-ID: <opsj65wgro444ivd@lpmliebeltt40.kcf.sl-si.com>

Could someone enlight me what is going wrong? I would like to use the
additional widget combobox, and have found no way to do it.

Because One-Click-Ruby-Installer has standard Tcl/Tk libraries only.
tkextlib/* are files to support Tcl/Tk extensions (iwidgets/* requires
the IWidgets extention).

Probably, it is the easiest way to install a ActiveTcl binary package
which can be downloaded from the ftp site of ActiveState (please see
"Support&Resources" at http://www.activestate.com/Products/ActiveTcl/\).

# Maybe, delete Tcl/Tk libraries included the Ruby-Installer.

However, you must get the ActiveTcl8.3.x (Not the latest version).
TclTkLib::COMPILE_INFO of tcltklib on Ruby-Installer is
---------------------------------------------------------------------
"tcltklib 2004-12-23 :: Ruby1.8.2 (2004-12-25) with pthread :: Tcl8.3.2(without stub)/Tk8.3.2(without stub) with tcl_threads"
---------------------------------------------------------------------
It shows the tcltklib works with Tcl/Tk8.3 only.

If want to use ActiveTcl8.4.x or 8.5.x, please read [ruby-talk:120774].
Although the tcltklib binary described at there is old, maybe work
with latest Ruby-Installer.
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

Hello Hidetoshi,

Hi,

From: "Markus Liebelt" <markus.liebelt@online.de>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900
Message-ID: <opsj65wgro444ivd@lpmliebeltt40.kcf.sl-si.com>

Could someone enlight me what is going wrong? I would like to use the
additional widget combobox, and have found no way to do it.

Because One-Click-Ruby-Installer has standard Tcl/Tk libraries only.
tkextlib/* are files to support Tcl/Tk extensions (iwidgets/* requires
the IWidgets extention).

Probably, it is the easiest way to install a ActiveTcl binary package
which can be downloaded from the ftp site of ActiveState (please see
"Support&Resources" at http://www.activestate.com/Products/ActiveTcl/\).

# Maybe, delete Tcl/Tk libraries included the Ruby-Installer.

However, you must get the ActiveTcl8.3.x (Not the latest version).
TclTkLib::COMPILE_INFO of tcltklib on Ruby-Installer is
---------------------------------------------------------------------
"tcltklib 2004-12-23 :: Ruby1.8.2 (2004-12-25) with pthread :: Tcl8.3.2(without stub)/Tk8.3.2(without stub) with tcl_threads"
---------------------------------------------------------------------
It shows the tcltklib works with Tcl/Tk8.3 only.

I'm just downloading a 8.3 version, and will have a look at it.

If want to use ActiveTcl8.4.x or 8.5.x, please read [ruby-talk:120774].
Although the tcltklib binary described at there is old, maybe work
with latest Ruby-Installer.

I just stick to the version the most close to the one currently used in Ruby. By the way, are there plans to upgrade to Tcl/Tk 8.4 or 8.5 in the near future? Not that I need a lot of features provided by these versions, just for curiosity ...

Thank you for your help

Bye
  Markus

···

On Fri, 7 Jan 2005 11:30:08 +0900, Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> wrote:

--
Markus Liebelt; markus.liebelt@online.de

Hello everybody,

just to give a fast feedback to everyone which wants to do something similar as me. Finally, I succeeded (many thanks to Hidetoshi), and these were the steps to take:

1. Download the Tcl/Tk installer from Download & Install Tcl | ActiveState with the best version you can get. I found finally the link ftp://ftp.activestate.com/ActiveTcl/Windows/8.3.3/, there you can download a fitting version.
2. Installed that version somewhere
3. Tried the example (for me: ...\ruby182\samples\tk\tkextlib\iwidgets\sample> combobox.rb) and got some error message.
4. Copied the missing files to the directory ..\ruby182\lib and ...\ruby182\bin:
    lib\iwidgets\
    lib\itcl3.2\
    lib\itk3.2\
    lib\itcl32.lib
    lib\itclstub32.lib
    lib\itk32.lib
    lib\itkstub32.lib
    bin\itcl32.dll
    bin\itk32.dll
5. Finally got the examples running!

Thanks a lot once again to Hidetoshi for his hints, and thank you all for the helpfull community which knows everything I want to know :slight_smile:

Bye
  Markus

···

On Fri, 07 Jan 2005 17:55:57 +0100, Markus Liebelt <markus.liebelt@online.de> wrote:

Hello Hidetoshi,

On Fri, 7 Jan 2005 11:30:08 +0900, Hidetoshi NAGAI > <nagai@ai.kyutech.ac.jp> wrote:

Hi,

From: "Markus Liebelt" <markus.liebelt@online.de>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900
Message-ID: <opsj65wgro444ivd@lpmliebeltt40.kcf.sl-si.com>

Could someone enlight me what is going wrong? I would like to use the
additional widget combobox, and have found no way to do it.

Because One-Click-Ruby-Installer has standard Tcl/Tk libraries only.
tkextlib/* are files to support Tcl/Tk extensions (iwidgets/* requires
the IWidgets extention).

Probably, it is the easiest way to install a ActiveTcl binary package
which can be downloaded from the ftp site of ActiveState (please see
"Support&Resources" at http://www.activestate.com/Products/ActiveTcl/\).

# Maybe, delete Tcl/Tk libraries included the Ruby-Installer.

However, you must get the ActiveTcl8.3.x (Not the latest version).
TclTkLib::COMPILE_INFO of tcltklib on Ruby-Installer is
---------------------------------------------------------------------
"tcltklib 2004-12-23 :: Ruby1.8.2 (2004-12-25) with pthread :: Tcl8.3.2(without stub)/Tk8.3.2(without stub) with tcl_threads"
---------------------------------------------------------------------
It shows the tcltklib works with Tcl/Tk8.3 only.

I'm just downloading a 8.3 version, and will have a look at it.

If want to use ActiveTcl8.4.x or 8.5.x, please read [ruby-talk:120774].
Although the tcltklib binary described at there is old, maybe work
with latest Ruby-Installer.

I just stick to the version the most close to the one currently used in Ruby. By the way, are there plans to upgrade to Tcl/Tk 8.4 or 8.5 in the near future? Not that I need a lot of features provided by these versions, just for curiosity ...

Thank you for your help

Bye
  Markus

--
Markus Liebelt; markus.liebelt@online.de

Markus Liebelt wrote:

Hello Hidetoshi,

On Fri, 7 Jan 2005 11:30:08 +0900, Hidetoshi NAGAI

I'm just downloading a 8.3 version, and will have a look at it.

> If want to use ActiveTcl8.4.x or 8.5.x, please read [ruby-talk:120774].
> Although the tcltklib binary described at there is old, maybe work
> with latest Ruby-Installer.

I just stick to the version the most close to the one currently used in
Ruby. By the way, are there plans to upgrade to Tcl/Tk 8.4 or 8.5 in the
near future? Not that I need a lot of features provided by these
versions,
just for curiosity ...

I would very much like to upgrade the Tcl/Tk support in the one-click
installer, but I have two problems: 1) I don't personally know anything
about Tcl/Tk, and 2) I have too many higher priority things on my plate
(both inside and outside of my Ruby work). This has made me reluctant to do
anything significant with the Tcl/Tk stuff that ships with the one-click
installer.

If anyone is willing to volunteer to do the work to upgrade the one-click
installer's Tcl/Tk support, please let me know.

Thanks,
Curt

Hi,

···

From: "Markus Liebelt" <markus.liebelt@online.de>
Subject: Re: Using of tkextlib in ruby-182-14
Date: Sat, 8 Jan 2005 02:01:27 +0900
Message-ID: <opsj8rzjfc444ivd@lpmliebeltt40.kcf.sl-si.com>

I just stick to the version the most close to the one currently used in
Ruby. By the way, are there plans to upgrade to Tcl/Tk 8.4 or 8.5 in the
near future? Not that I need a lot of features provided by these versions,
just for curiosity ...

Ruby/Tk is already tested with the latest Tcl/Tk8.4.9 and 8.5a2.
It means that Ruby/Tk supports the latest features of Tcl/Tk.
If tcltklib is compiled with such the Tcl/Tk,
Ruby/Tk works with the Tcl/Tk.
Probably, when tcltklib is compiled with Tcl/Tk8.5a2 with stubs,
the tcltklib.so works with not only Tcl/Tk8.5 but also 8.4 or 8.3.

But I'm not a stuff of one-click-ruby-installer. :wink:
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)