Comments (8)
That's a Ruby error message--a Google search for the string shows up several Stack Overflow entries on various modules.
I suspect the issue is simply that, as you say, Tcl/Tk 8.7 isn't supported. Perhaps I'll come back when 8.7 is officially released.
from tk.
Interestingly, passing these configure flags:
gem install tk -- --with-tcltkversion=8.7 --with-tcllib=tcl87 --with-tklib=tk87 --with-tk-shlib-search-path=C:/Ruby30-x64/msys64/usr ---with-tcl-dir=C:/Ruby30-x64/msys64/usr --with-tk-dir=C:/Ruby30-x64/msys64/usr
appears to builds the gem successfully, but things still do not run:
irb(main):001:0> require 'tk'
<internal:C:/Ruby30-x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require': 126: The specified module could not be found. - C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/tk-0.4.0/lib/tcltklib.so (LoadError)
tcltklib.so is indeed found in the directory, so the "could not be found" message is misleading. I wonder if it is a versioning issue - is more work required with Ruby-Tk's internals to support Tcl/Tk 8.7 than just doing a version bump?
from tk.
My setup is the current version of RubyInstaller (3.0), and Tcl/Tk tip-of-8.7 built against MinGW, on Windows 10.
from tk.
I don't think there are any current plans to support Tcl/Tk 8.7. However, we would definitely consider a pull request that added support for 8.7 without changing behavior for other supported versions.
I searched for that error message in both the ruby and ruby-tk sources and couldn't find it. Is it an error message from Tcl/Tk that Ruby is using when raising the exception?
Your best bet for debugging this is build ruby and the gem with debugging symbols, then run ruby using a debugger to see exactly where that exception is being raised. You could probably put breakpoints on rb_raise
and rb_exc_raise
, then get a C-level backtrace from there. You'll want to keep getting such backtraces until the program exits, then the last backtrace should be the one related to the problem.
from tk.
Leaving open to keep on the board and track with Tcl/Tk release.
from tk.
Today I just read this on ruby reddit:
https://old.reddit.com/r/ruby/comments/1169ti9/whatever_happened_to_ruby/
This part I found quite interesting:
"Apparently Ruby donβt support tk 8.6"
Now, personally, I use mostly ruby-gtk3, which works well for my use cases. But some people use ruby-tk,
such as glimmer-tk such as Andy here:
https://github.com/AndyObtiva/glimmer-dsl-tk
So for these projects it would be nice if someone could find and track progress for ruby-tk in regards
to tk 8.6, 8.7 or any other later version.
from tk.
I guess the question is how/if one can track progress for the ruby-specific parts, to allow for tk 8.6 and so forth.
I assume one would need some C knowledge? This would probably be where many people drop off. I know some ruby, but my C knowledge is very, very limited.
But what if we could, say, add partial support? So people could work on some widgets, and make these work (with tests) and then move on to do other things. That would still be better than no support for later tk.
from tk.
@rubyFeedback Ruby most certainly supports Tk 8.6. That is the main version that was used in Glimmer DSL for Tk (note how it mentions ActiveTcl 8.6).
Everybody makes mistakes and people say things that are wrong sometimes. Don't take their word for granted no matter how many people agree with them as everyone could be wrong every once in a while. Always question everything and investigate facts yourself.
from tk.
Related Issues (20)
- positionWindow(w) HOT 1
- Unknown command tk HOT 2
- i can't install tk HOT 3
- autoload.rb:455: warning: deprecated Object#=~ is called on Class; it always returns nil HOT 3
- How i can install Tk !? HOT 1
- Can't install tk, something about tcltklib HOT 2
- tk decreases load speed of others gems loading after it HOT 11
- Small warnings issued by the tk gem - could these be removed by someone with commit access? HOT 2
- Ruby crashes during `require 'tk'` on macOS 10.14.6 (Mojave) HOT 11
- How to track text widget insert mark change? HOT 1
- Binding standard widget events does not work on text widget HOT 3
- Tk.getMultipleSaveFile does not work on the Mac HOT 6
- Tk::Text listening to a tag covering 1.0 to end stops working after clearing all text (on Mac) HOT 4
- bwidget example error HOT 6
- warning: undefining the allocator of T_DATA class TkUtil::CallbackSubst::Info HOT 2
- extconf.rb ignores config_list.in HOT 3
- Two warnings in tk.rb
- support for ruby3 HOT 6
- tk on windows with ActiveTcl and ruby 3.2 crashing HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tk.