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: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

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.

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.

···

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
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

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
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.

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.
--
Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

Message-ID: <1164045705.464149.177750@m73g2000cwd.googlegroups.com>

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)