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.
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.
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
Hidetoshi NAGAI wrote:
···
From: "fkc_email-news @ yahoo dot com" <fkchang2000@gmail.com>
Subject: compiling ruby/tk on 64 bit Redhat?
Date: Thu, 16 Nov 2006 03:20:14 +0900
Message-ID: <1163614575.276369.186180@f16g2000cwb.googlegroups.com>
> 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.
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.
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
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
···
From: "fkc_email-news @ yahoo dot com" <fkchang2000@gmail.com>
Subject: Re: compiling ruby/tk on 64 bit Redhat?
Date: Tue, 21 Nov 2006 03:05:09 +0900
-------------------------------------------------------------------
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)