Go Back   Rhinocerus > Newsgroup > Newsgroup comp.lang.ruby

Reply
 
Thread Tools Display Modes
  #16 (permalink)  
Old 02-19-2010, 08:29 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

> Roger, could you give some more guidance on what gem/extconf switches
> are required to get tk_as_gem built when Tk is installed somewhere
> other than C:\Tcl?


Looks like I was hard coding it to /Tcl (my bad).

Give 'er a shot now.

ex:

gem install tk_as_gem -- --with-tcl-dir=/installs/Tcl
--with-tk-dir=/installs/Tcl



> Also, is there anything I can do to help diagnose the hanging problem
> that happens on my other computer (which does have C:\Tcl)?


Typically for me this has meant I don't have tk84.dll in my path.

You can make sure it is using the whichr gem, if desired.
c:\dev_old>gem install os whichr
c:\dev_old>whichr tk*.dll -a
higher in the list is executed first
e:\Tcl\bin\tk84.dll (is not executable)

(it should show one)
-r
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
Alt Today
Advertising
 
and become member of Rhinocerus
Standard Sponsored Links

  #17 (permalink)  
Old 02-23-2010, 11:49 PM
Eric Christopherson
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

On Fri, Feb 19, 2010 at 3:29 PM, Roger Pack <rogerpack2005@gmail.com> wrote:
>> Roger, could you give some more guidance on what gem/extconf switches
>> are required to get tk_as_gem built when Tk is installed somewhere
>> other than C:\Tcl?

>
> Looks like I was hard coding it to /Tcl (my bad).
>
> Give 'er a shot now.
>
> ex:
>
> gem install tk_as_gem -- --with-tcl-dir=/installs/Tcl
> --with-tk-dir=/installs/Tcl


I've finally had success installing tk_as_gem on my home Windows VM
and my work Windows machine. It also no longer hangs for long periods
of time. On my VM I didn't really have to do anything to make it work,
but on my work PC I have everything stored under My Documents since I
can't write to C:\. Here is what helped:

1. Upgrade to the newest RubyInstaller package (1.9.1-p378). P243 had
a bug where the compilation couldn't finish because it had run out of
memory (Errno::ENOMEM). Install the devkit from rubyinstaller.org, if
you haven't already.
2. Run gem in a Windows command prompt (cmd) window. I never got it
working under MSys.
3. Use "short filenames" (the ones with ~ in them) instead of any
file/directory name with spaces. You can find out short filenames in
cmd by running dir /x on their parent directories. I couldn't get
paths with spaces to work.
4. For convenience, I set a shell variable TCLDIR_. It was set to
C:/Docume~1/echris~1/MyDocu~1/Development/Tcl. Note that this has
forward slashes instead of backslashes! Gcc doesn't understand
backslashes. (The underscore is because I had another variable TCLDIR
with backslashes.)
5. Use the command line:
gem install --verbose tk_as_gem -- --with-tcl-dir=%TCLDIR%
--with-tk-dir=%TCLDIR%

I really hope this helps someone. Roger, I don't know if you'd be able
to fix things so it can build with pathnames with spaces, or under
MSys, but that'd be great. And thanks for the hard work of making this
a gem!

Reply With Quote
  #18 (permalink)  
Old 03-05-2010, 10:23 AM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Roger Pack wrote:
>
>> 'ERROR: Error installing tk_as_gem:
>> ERROR: Failed to build native extension.'
>>
>> Any idea what may be wrong? I have both Tcl and Ruby 1.9 installed on
>> my C: drive.

>
> My first guess is that you don't have the devkit installed (if gcc
> --version works then you do, though). We'll probably need more info,
> like put your mkmf.log output into a pastie and post the link back here
> or what not.
> GL!
> -r


Roger,

I'm still trying to get tk_to_gem to work on my 64-bit windows. I made
sure devkit was installed, and gcc --version works. I'm getting the
same error message. I can't seem to locate the mkmf.log file. It
doesn't even seem to be created (I did a search of my entire harddrive
and only found mkmf.log files for other installs I've done).

As mentioned before, it worked fine on my other (32-bit) system. Would
there be any 64-bit issues with tk_as_gem?

--Alex
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #19 (permalink)  
Old 03-05-2010, 11:48 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?


> I'm still trying to get tk_to_gem to work on my 64-bit windows. I made
> sure devkit was installed, and gcc --version works. I'm getting the
> same error message. I can't seem to locate the mkmf.log file. It
> doesn't even seem to be created (I did a search of my entire harddrive
> and only found mkmf.log files for other installs I've done).


What's the full output? Do you have 32 bit versions of tk and ruby
installed, I assume?
-rp
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #20 (permalink)  
Old 03-06-2010, 01:21 AM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Roger Pack wrote:
> What's the full output? Do you have 32 bit versions of tk and ruby
> installed, I assume?
> -rp


I have ActiveState Active Tcl8.4.19.1 installed, along with Ruby
1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]. Ruby is working
fine with my other apps, and the Active Tcl is working fine with my TK
apps if I run them under Ruby 1.8.6.

Ruby 1.9 is my default installation (confirmed by ruby -v).

When I type gem install tk_as_gem I get:
'Building native extensions. This could take a while...
ERROR: Error installing tk_as_gem:
ERROR: Failed to build gem native extension.

C:/Ruby19/bin/ruby.exe extconf.rb

Gem files will remain installed in
C:/Ruby19/lib/ruby/gems/1.9.1/gems/tk_as_gem-0.1.0 for inspection.
Results logged to
C:/Ruby19/lib/ruby/gems/1.9.1/gems/tk_as_gem-0.1.0/gem_make.out'

The contents of the gem_make.out file are just 'C:/Ruby19/bin/ruby.exe
extconf.rb'

I do have devkit in the Ruby19 directory, along with the appropriate
/bin stuff from devkit.

Other gems install fine. I currently have fxruby and RMagick gems
installed and they are working fine. My gem environment is 1.3.6.

--Alex
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #21 (permalink)  
Old 03-08-2010, 04:03 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

> The contents of the gem_make.out file are just 'C:/Ruby19/bin/ruby.exe
> extconf.rb'


What happens if you try and run ruby extconf.rb?
-rp
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #22 (permalink)  
Old 03-11-2010, 01:35 AM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Roger Pack wrote:
>> The contents of the gem_make.out file are just 'C:/Ruby19/bin/ruby.exe
>> extconf.rb'

>
> What happens if you try and run ruby extconf.rb?
> -rp


I'm away from my system this week. When I return I'll try running ruby
extconf.rb and let you know the outcome.

Thanks --Alex
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #23 (permalink)  
Old 03-15-2010, 11:34 AM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Roger Pack wrote:
> What happens if you try and run ruby extconf.rb?
> -rp


The results of running ruby extconf.rb are:

checking for ruby_native_thread_p() in ruby.h... yes
checking for rb_errinfo() in ruby.h... yes
checking for rb_safe_level() in ruby.h... yes
checking for struct RArray.ptr in ruby.h... no
checking for struct RArray.len in ruby.h... no
checking for tcl.h... no
checking for tcl.h in
/usr/local/include,/usr/pkg/include,/usr/include,/Tcl/include,/usr/local/include/tcl8.4,/usr/pkg/include/tcl8.4,/usr/include/tcl8.4,/Tcl/include/tcl8.4,/usr/local/include/tcl8.7,/usr/pkg/include/tcl8.7,/usr/include/tcl8.7,/Tcl/include/tcl8.7,/usr/local/include/tcl8.6,/usr/pkg/include/tcl8.6,/usr/include/tcl8.6,/Tcl/include/tcl8.6,/usr/local/include/tcl8.5,/usr/pkg/include/tcl8.5,/usr/include/tcl8.5,/Tcl/include/tcl8.5,/usr/local/include/tcl8.3,/usr/pkg/include/tcl8.3,/usr/include/tcl8.3,/Tcl/include/tcl8.3,/usr/local/include/tcl8.2,/usr/pkg/include/tcl8.2,/usr/include/tcl8.2,/Tcl/include/tcl8.2,/usr/local/include/tcl8.1,/usr/pkg/include/tcl8.1,/usr/include/tcl8.1,/Tcl/include/tcl8.1,/usr/local/include/tcl8.0,/usr/pkg/include/tcl8.0,/usr/include/tcl8.0,/Tcl/include/tcl8.0,/usr/local/include/tcl7.6,/usr/pkg/include/tcl7.6,/usr/include/tcl7.6,/Tcl/include/tcl7.6...
yes
checking for tk.h... yes
checking for Tcl_FindExecutable() in -ltcl8.4... no
checking for Tcl_FindExecutable() in -ltcl84... yes
checking for Tk_Init() in -ltk8.4... no
checking for Tk_Init() in -ltk84... yes
checking for rb_hash_lookup() in ruby.h... yes
creating Makefile

As a reminder, I have ActiveState Tcl/Tk 8.4 installed in C:\Tcl

--Alex

--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #24 (permalink)  
Old 03-15-2010, 05:16 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?


> checking for tk.h... yes
> checking for Tcl_FindExecutable() in -ltcl8.4... no
> checking for Tcl_FindExecutable() in -ltcl84... yes
> checking for Tk_Init() in -ltk8.4... no
> checking for Tk_Init() in -ltk84... yes
> checking for rb_hash_lookup() in ruby.h... yes
> creating Makefile


And then when you run make?
-r
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #25 (permalink)  
Old 03-15-2010, 11:38 PM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

>
> And then when you run make?
> -r


after running 'make' the results are:

gcc -shared -s -o tcltklib.so stubs.o tcltklib.o -L. -LC:/Ruby19/lib
-LC:/Tcl/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import
-lmsvcrt-ruby191 -ltk84 -ltcl84 -lshell32 -lws2_32

Then I do 'make install' and get the contents of the attached .txt file.

After all is said and done, then when I try to run a ruby tk app I get
the following error:

C:/Ruby19/lib/ruby/site_ruby/1.9.1/tk.rb:7 in `require': no such file to
load - tkutil (Load Error)
from C:/Ruby19/lib/ruby/site_ruby/1.9.1/tk.rb:7:in `<top
(required)>'

--Alex

Attachments:
http://www.ruby-forum.com/attachment...og_install.txt

--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #26 (permalink)  
Old 03-16-2010, 02:47 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Alex DeCaria wrote:
>>
>> And then when you run make?
>> -r

>
> after running 'make' the results are:
>
> gcc -shared -s -o tcltklib.so stubs.o tcltklib.o -L. -LC:/Ruby19/lib
> -LC:/Tcl/lib -L. -Wl,--enable-auto-image-base,--enable-auto-import
> -lmsvcrt-ruby191 -ltk84 -ltcl84 -lshell32 -lws2_32


that it odd it should be creating several .so files

e:\>gem which tkutil
E:/installs/ruby191p376/lib/ruby/gems/1.9.1/gems/tk_as_gem-0.1.0/lib/tkutil.so

e:\>gem which tcltklib
E:/installs/ruby191p376/lib/ruby/gems/1.9.1/gems/tk_as_gem-0.1.0/lib/tcltklib.so

What does yours say for those commands after installing the gem? My
guess is that they exist but somehow aren't finding the dll's right or
something.

If you have the file tkutil.so, you can train "dependency walker" on it
[1], and it might inform you of missing dependencies or what not...
Let me know how it goes.
-r
[1] http://www.dependencywalker.com/
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #27 (permalink)  
Old 03-17-2010, 12:19 AM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

gem which tkutil results in:
ERROR: Can't find ruby library file or shared library tkutil

gem which tcltklib results in:
C:/Ruby19/lib/ruby/site_ruby/1.9.1/i386-msvcrt/tcltklib.so

If I search my entire C: drive for tkutil.so it finds a copy in my old
Ruby 1.8 installation, but not in the Ruby 1.9 installation. I don't
suppose I could just copy the file from the 1.8 install to the 1.9
install? If so, where should I put it?

--Alex
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #28 (permalink)  
Old 03-17-2010, 03:12 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?


> gem which tcltklib results in:
> C:/Ruby19/lib/ruby/site_ruby/1.9.1/i386-msvcrt/tcltklib.so


That's the built-in one, I think, not the gem one...and this is after a
successful gem install? "gem search tk_as_gem" lists something? what
does "gem which tk" yield?

You might get some traction in building the gem on you 32 bit box and
then copying over that entire ruby version to your 64 bit box, too.
GL!
-r
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #29 (permalink)  
Old 03-17-2010, 11:17 PM
Alex DeCaria
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?

Roger Pack wrote:
> You might get some traction in building the gem on you 32 bit box and
> then copying over that entire ruby version to your 64 bit box, too.
> GL!
> -r


That worked! I copied the entire tk_as_gem-0.1.0 directory from my 32
bit install to the 64 bit machine, and it worked first time! Thanks for
the tip.

I have two additional questions:

1) Will the tk_as_gem work with a later version of Tcl/Tk, or do I need
to stick with the 8.4 version I am using now?

2) Any ideas as to why the Tk apps with Ruby 1.9 load so slow compared
to the way it was on Ruby 1.8?

Again, thanks for all your help. I'm happy that I can at least run my
apps now.

--Alex
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
  #30 (permalink)  
Old 03-18-2010, 06:21 PM
Roger Pack
Guest
 
Posts: n/a
Default Re: Where is Ruby 1.9 'TK' library?


> 1) Will the tk_as_gem work with a later version of Tcl/Tk, or do I need
> to stick with the 8.4 version I am using now?


I think it will work with 8.5

> 2) Any ideas as to why the Tk apps with Ruby 1.9 load so slow compared
> to the way it was on Ruby 1.8?


Nope. If you can reproduce it in Linux, you could ping core and ask
them why they think it's slow (or anybody else out there?).

rp
--
Posted via http://www.ruby-forum.com/.

Reply With Quote
 
Reply

Popular Tags in the Forum
library, ruby

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
question about multiple ruby + gems installations for dev/test/prod Alex Rice Newsgroup comp.lang.ruby 6 12-28-2009 09:37 PM
[ANN] Ruby-Tk LIbraries Runtime Library 3.0 and Gestalt Items Arndt Roger Schneider Newsgroup comp.lang.ruby 4 11-10-2009 01:34 PM
[ANN] rice-1.1.0 with Ruby 1.9.0 compatibility! Jason Roelofs Newsgroup comp.lang.ruby 3 04-27-2009 03:34 PM
Can Ruby stay ahead ? Suresh Kk Newsgroup comp.lang.ruby 25 04-16-2009 01:34 AM
Re: Extensive SAS Library Jules Bosch Newsgroup comp.soft-sys.sas 0 07-08-2007 07:31 PM



All times are GMT. The time now is 06:48 PM.


Copyright ©2009

LinkBacks Enabled by vBSEO 3.3.0 RC2 © 2009, Crawlability, Inc.