Hi,

"Stephen White" <steve / deaf.org> wrote:
> The sequence of events I use to install Ruby are:
>
>   tar zxvf ruby-1.4.5.tar.gz
>   cd ruby-1.4.5
>   ./configure
>   make
>   make install
>
> If I run it at this point, I get:
>
> steve@milla:~/ruby/ruby-1.4.5/ext/tk/sample > ruby tkhello.rb
> /usr/local/lib/ruby/1.4/tk.rb:7:in `require': No such file to load --
tcltklib (LoadError)
> from /usr/local/lib/ruby/1.4/tk.rb:7
>
> If I edit ext/Setup, uncomment tkutil and tcltklib, and recompile, I get
the
> same error. It doesn't appear to be compiling tcltklib at all. If I then
go
> into the ext directory and directly compile and install the module, then
it
> complains about not being able to find tk.h (which is in
/usr/X11R6/include).
>
> The situation is complicated by having 3 versions of Tcl/Tk on my system,
so
> I think I might just wipe my system and re-install. I just wanted to
verify
> that it wasn't a common problem.

I'm not at work, so I can't look up the build source, but this reminds me of
a problem I had when I first tried building Ruby with Tcl/Tk8.3.

When the make has made Ruby and goes to work on making the extensions, there
are some *.rb scripts that it runs in order to check for various versions of
Tcl and Tk on various paths, which at that time didn't include a check for
then-new Tcl and Tk 8.3 versions. So not finding them, the extension for
Tcl/Tk was never built. (My situation was also complicated somewhat further
because I was building both Ruby and Tcl/Tk with
./configure --prefix=/non-standard-dir.) To track this down the first time,
I just did the simple brute force thing of running make with some trace
flag, and stuck print statements in the various *.rb scripts that were being
run until I had another one of those "revelations of the obvious".

Conrad