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:in
initialize’
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:in
new’
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