From: Luis Lavena <luislavena@...>
Date: 2010-12-27T21:04:29+09:00
Subject: [ruby-core:33922] Re: [Ruby 1.9-Bug#4141][Open] Tk extension is not accepting any type of parameter combination

On Sun, Dec 26, 2010 at 10:05 PM, Hidetoshi NAGAI
<nagai@ai.kyutech.ac.jp> wrote:
> Hi,
>

Hello,

>> Bug #4141: Tk extension is not accepting any type of parameter combination
>> http://redmine.ruby-lang.org/issues/show/4141
>
> I'm very sorry. My reply is too late for a new RubyInstaller.

No need to apologize. I appreciate you took the time to answer.

> Could you try the following patch (and new options)?
>

I've tried the patch you provided, and this is what I got in the console:

compiling syslog
compiling tk
check functions.........
check struct members..
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh.........
Fail to find [tclConfig.sh, tkConfig.sh]
c:/Users/Luis/Projects/oss/ruby/ext/tk/extconf.rb:1651:in `merge!':
can't convert nil into Hash (TypeError)
        from c:/Users/Luis/Projects/oss/ruby/ext/tk/extconf.rb:1651:in
`<top (required)>'
        from ../../../../ruby/ext/extmk.rb:157:in `load'
        from ../../../../ruby/ext/extmk.rb:157:in `extmake'
        from ../../../../ruby/ext/extmk.rb:444:in `block in <main>'
        from ../../../../ruby/ext/extmk.rb:440:in `each'
        from ../../../../ruby/ext/extmk.rb:440:in `<main>'
make: *** [mkmain.sh] Error 1

===

Some additional information:

1) tcl and tk were build statically (configure --enable-static --disable-shared)

2) sandbox/tcl contains:

bin: tclsh85s.exe
lib: libtcl85s.a, libtclstub85s.a, tclConfig.sh (along some tcl8.5 directories)

3) sandbox/tk contains:

bin: wish85s.exe
lib: libtk85s.a, libtkstub85s.a, tkConfig.sh

Please note the following:

tcl and tk are compiled and installed in different folders, as tk
requires tcl, first I compile and 'activate it' for the build process
work.

All this is automated with RubyInstaller recipes under the tcl-tk branch:

https://github.com/oneclick/rubyinstaller/tree/tcl-tk

This can be easily tested and hacked, using a Ruby 1.8.7 interpreter
as baseruby:

git clone git://github.com/oneclick/rubyinstaller.git
cd rubyinstaller
git checkout tcl-tk
rake ruby19

(That will build using latest 1.9.2-p136 codebase)
If you want to build against a SVN checkout or git workcopy, you can
use LOCAL and the PATH:

rake ruby19 LOCAL=C:\Path\To\Ruby

Thank you for your time looking into this issue.

Regards,
-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exup�ry