Using of tkextlib in ruby-182-14

M

Markus Liebelt

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
 
H

Hidetoshi NAGAI

Hi,

From: "Markus Liebelt" <[email protected]>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900
Message-ID: said:
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.
 
M

Markus Liebelt

Hello Hidetoshi,

Hi,

From: "Markus Liebelt" <[email protected]>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900


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

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
 
M

Markus Liebelt

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
http://www.activestate.com/Products/ActiveTcl/ 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 :)

Bye
Markus


Hello Hidetoshi,

Hi,

From: "Markus Liebelt" <[email protected]>
Subject: Using of tkextlib in ruby-182-14
Date: Fri, 7 Jan 2005 05:06:31 +0900


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

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
 
C

Curt Hibbs

Markus said:
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
 
H

Hidetoshi NAGAI

Hi,

From: "Markus Liebelt" <[email protected]>
Subject: Re: Using of tkextlib in ruby-182-14
Date: Sat, 8 Jan 2005 02:01:27 +0900
Message-ID: said:
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. ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,731
Messages
2,569,432
Members
44,832
Latest member
GlennSmall

Latest Threads

Top