Compiling ruby/tk on 64 bit Redhat?

HI All:

I"m wondering if anyone has successfully done this. I’m trying to
build 1.8.5 with ruby/tk extension. It seems the extconf.rb can’t find
XOpen Display. I hand tweaked the makefiles with values from Makefiles
that I’ve successfully built on other unix’es and built, but I get the
following sort of error

require ‘tk’
root = Tk=> true

root = TkRoot.new
RuntimeError: hash modified
from /home/users/fchang/local_linux/lib/ruby/1.8/tk.rb:3339:in
_symbolkey2str' from /home/users/fchang/local_linux/lib/ruby/1.8/tk.rb:3339:ininitialize’
from
/home/users/fchang/local_linux/lib/ruby/1.8/tk/root.rb:36:in new' from /home/users/fchang/local_linux/lib/ruby/1.8/tk/root.rb:36:innew’
from (irb):2

So I"m back to trying to get extconf.rb to work. It usually fails
after not finding XOpenDisplay, which is curious as I built tcl/tk on
the same machine.

checking for t_open() in -lnsl… no
checking for socket() in -lsocket… no
checking for dlopen() in -ldl… yes
checking for log() in -lm… no
checking for tcl.h… yes
checking for tk.h… yes
checking for XOpenDisplay() in -lX11… no

From reading the mkmf.log, I"m guessing it’s not picking
/usr/X11R6/lib64 as the lib directory when it’s trying to discover
libs. It does try /usr/X11R6/lib, however. I can’t seem to figure out
a way to get it to add that search dir. Guesses at adding with-x-lib
or with-x11-lib didn’t seem to do it.

Any help appreciated. Thanks

Forrest

From: “fkc_email-news @ yahoo dot com” [email protected]
Subject: compiling ruby/tk on 64 bit Redhat?
Date: Thu, 16 Nov 2006 03:20:14 +0900
Message-ID: [email protected]

From reading the mkmf.log, I"m guessing it’s not picking
/usr/X11R6/lib64 as the lib directory when it’s trying to discover
libs. It does try /usr/X11R6/lib, however. I can’t seem to figure out
a way to get it to add that search dir. Guesses at adding with-x-lib
or with-x11-lib didn’t seem to do it.

Please try “–with-X11-lib=/usr/X11R6/lib64”.
^(uppercase)

I think that “–with-X11-dir”. “–with-X11-include”, and
“–with-X11-lib” must be available.
After trying, please report the result to this ML.

That did the trick.

I had to manually run the extconf.rb however and compile, and in doing
such by hand the tkutil/extconf.rb didn’t recognize the compiled?
method.

Thanks

Forrest

From: “fkc_email-news @ yahoo dot com” [email protected]
Subject: Re: compiling ruby/tk on 64 bit Redhat?
Date: Tue, 21 Nov 2006 03:05:09 +0900
Message-ID: [email protected]

I had to manually run the extconf.rb however and compile, and in doing
such by hand the tkutil/extconf.rb didn’t recognize the compiled?
method.

Please try “ruby -r mkmf -e ‘create_makefile(“tkutil”)’”.
And if you don’t mind modifying “extconf.rb”, please try the following.

-----------<tkutil/extconf.rb>-------------------------------------
begin
has_tk = compiled?(‘tk’)
rescue NoMethodError

Probably, called manually (NOT from ‘extmk.rb’). Force to make

Makefile.
has_tk = true
end

if has_tk
require ‘mkmf’
create_makefile(‘tkutil’)
end