| Summary: | ruby-tk missing from Cauldron | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Len Lawrence <tarazed25> |
| Component: | RPM Packages | Assignee: | Pascal Terjan <pterjan> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | critical | ||
| Priority: | Normal | CC: | digidietze, marja11, pterjan |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Source RPM: | CVE: | ||
| Status comment: | |||
|
Description
Len Lawrence
2017-10-06 19:28:46 CEST
in the log of the source package (ruby) I see: > r1140083 | pterjan | 2017-08-13 18:49:28 +0200 (zo, 13 aug 2017) | 1 line > tk is gone and this page http://wiki.tcl.tk/10437 has as title "Tk is obsolete" I don't know what you should do with your local ruby gui programs, maybe pterjan can tell you, CC'ing him. If this is likely to affect more users, it'll probably need an entry in the Mageia 7 errata (even if it should really be in the release notes instead of the errata, if obsoleting tk is an upstream decision) CC:
(none) =>
marja11, pterjan Yes tk support has been removed from Ruby as of 2.4, but we could package the separate gem https://rubygems.org/gems/tk/ if that seems useful That would be really useful because my whole life revolves around my personal gui programs. Have used tk ever since it was invented and my decision to invest in ruby ten years or more ago was heavily influenced by its support for tk. tk provides things that no other graphics package does, such as an interactive canvas and canvas to postscript support. It is also very easy to use. My dependence on tk is such that if I had to rewrite my personal programs I would have to withdraw from QA for many years which at my age means permanently. So, please do package it as a gem, and remember tkimg. Thanks. Just my two cents regarding the "Tk is obsolete" page. That Wiki entry is some 17 years old. It was probably meant to provoke at the time, but most of the statements are outdated and incorrect now, given the changes made to Tk in the meantime. I hope that the original Tk package will not be dropped anytime soon because I have Mageia together with some Tcl/Tk applications that I wrote in productive use at my work place. CC:
(none) =>
digidietze (In reply to Pascal Terjan from comment #2) > Yes tk support has been removed from Ruby as of 2.4, but we could package > the separate gem https://rubygems.org/gems/tk/ if that seems useful (In reply to Len Lawrence from comment #3) > > My dependence on tk is such that if I had to rewrite my personal programs I > would have to withdraw from QA for many years which at my age means > permanently. > > So, please do package it as a gem, and remember tkimg. > QA team can't do without you! @ Pterjan Do you have time to fix this? If you don't then please assign back to BugSquad Cheers, Marja Assignee:
bugsquad =>
pterjan @ Marja, re QA etc - nice of you to say so - thanks. Now that more than one voice has been raised, should this bug request be a feature proposal for Mageia 7 or is too small a matter? That is small in the sense of involving few users; it might mean a lot of extra work for Pascal. I created the package, it crashes badly when there is no display, but I don't know if this is a new problem $ ruby -r tk -e '' /usr/share/gems/gems/tk-0.2.0/lib/tk.rb:32:in `initialize': tcltklib: fail to Tk_Init(). no display name and no $DISPLAY environment variable (RuntimeError) from /usr/share/gems/gems/tk-0.2.0/lib/tk.rb:32:in `initialize' from /usr/share/gems/gems/tk-0.2.0/lib/tk.rb:1246:in `new' from /usr/share/gems/gems/tk-0.2.0/lib/tk.rb:1246:in `block in <module:TkCore>' Tcl_AsyncDelete: async handler deleted by the wrong thread Aborted (core dumped) $ ruby -r tk -e ''
No output, no crash.
$ sudo gem install tk
Fetching: tk-0.2.0.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing tk:
ERROR: Failed to build gem native extension.
/usr/bin/ruby -r ./siteconf20171007-5794-13fzlzw.rb extconf.rb
Configure options for Ruby/Tk may be updated.
So, delete files which depend on old configs.
check functions.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 rb_hash_lookup() in ruby.h... yes
checking for rb_proc_new() in ruby.h... yes
checking for rb_obj_untrust() in ruby.h... yes
checking for rb_obj_taint() in ruby.h... yes
checking for rb_set_safe_level_force() in ruby.h... yes
checking for rb_sourcefile() in ruby.h... yes
checking for rb_thread_alive_p() in ruby.h... no
checking for rb_thread_check_trap_pending() in ruby.h... yes
checking for ruby_enc_find_basename() in ruby.h... yes
check libraries.checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for dlopen() in -ldl... yes
checking for log() in -lm... yes
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh.
Fail to find [tclConfig.sh, tkConfig.sh]
Use X11 libraries (or use TK_XINCLUDES/TK_XLIBSW information on tkConfig.sh).
checking for XOpenDisplay() in -lX11... yes
Search tcl.h
checking for tcl.h... yes
Search tk.h
checking for tk.h... no
Search Tcl library.Search Tk library.....................*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib64
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/$(RUBY_BASE_NAME)
--enable-shared
--with-tk-old-extconf
--without-tk-old-extconf
--with-tk-old-extconf
--without-tk-old-extconf
--with-ActiveTcl
--without-ActiveTcl
--with-tk-shlib-search-path
--without-tk-shlib-search-path
--with-tcltkversion
--without-tcltkversion
--with-tcl-build-dir
--without-tcl-build-dir
--with-tk-build-dir
--without-tk-build-dir
--with-tcl-config
--without-tcl-config
--with-tk-config
--without-tk-config
--with-tclConfig-dir
--without-tclConfig-dir
--with-tkConfig-dir
--without-tkConfig-dir
--with-tclConfig-file
--without-tclConfig-file
--with-tkConfig-file
--without-tkConfig-file
--with-tcllib
--without-tcllib
--with-tklib
--without-tklib
--with-tcl-dir
--without-tcl-dir
--with-tk-dir
--without-tk-dir
--with-tcl-include
--without-tcl-include
--with-tk-include
--without-tk-include
--with-tcl-lib
--without-tcl-lib
--with-tk-lib
--without-tk-lib
--with-tcltk-framework
--without-tcltk-framework
--with-tcl-framework-dir
--without-tcl-framework-dir
--with-tk-framework-dir
--without-tk-framework-dir
--with-tcl-framework-header
--without-tcl-framework-header
--with-tk-framework-header
--without-tk-framework-header
--with-X11
--without-X11
--with-X11-dir
--without-X11-dir
--with-X11-include
--without-X11-include
--with-X11-lib
--without-X11-lib
--enable-tcltk-stubs
--disable-tcltk-stubs
--enable-tcl-h-ver-check
--disable-tcl-h-ver-check
--enable-tk-h-ver-check
--disable-tk-h-ver-check
--enable-mac-tcltk-framework
--disable-mac-tcltk-framework
--enable-tcltk-framework
--disable-tcltk-framework
--enable-pthread
--enable-tcl-thread
--disable-tcl-thread
--enable-space-on-tk-libpath
--disable-space-on-tk-libpath
--with-nsllib
--without-nsllib
--with-socketlib
--without-socketlib
--with-dllib
--without-dllib
--with-mlib
--without-mlib
--with-tcl-build-dir
--without-tcl-build-dir
--with-tk-build-dir
--without-tk-build-dir
--with-tcltkversion
--without-tcltkversion
--with-ActiveTcl
--without-ActiveTcl
--enable-space-on-tk-libpath
--disable-space-on-tk-libpath
--enable-tcltk-stubs
--disable-tcltk-stubs
--with-tcltk-stubs
--without-tcltk-stubs
--with-tcl-dir
--without-tcl-dir
--with-tcl-include
--without-tcl-include=${tcl-dir}/include
--with-tcl-lib
--without-tcl-lib=${tcl-dir}/lib64
--with-tk-dir
--without-tk-dir
--with-tk-include
--without-tk-include=${tk-dir}/include
--with-tk-lib
--without-tk-lib=${tk-dir}/lib64
--with-tclConfig-file
--without-tclConfig-file
--with-tkConfig-file
--without-tkConfig-file
--with-tclConfig-dir
--without-tclConfig-dir
--with-tkConfig-dir
--without-tkConfig-dir
--with-tcl-framework-header
--without-tcl-framework-header
--with-tk-framework-header
--without-tk-framework-header
--with-tcl-framework-dir
--without-tcl-framework-dir
--with-tk-framework-dir
--without-tk-framework-dir
--with-tcltk-framework
--without-tcltk-framework
--enable-tcltk-framework
--disable-tcltk-framework
--with-tcltk-framework
--without-tcltk-framework
--enable-tcltk-framework
--disable-tcltk-framework
--enable-mac-tcltk-framework
--disable-mac-tcltk-framework
--with-tk-shlib-search-path
--without-tk-shlib-search-path
--with-tklib
--without-tklib
--with-tcllib
--without-tcllib
--with-X11
--without-X11
--with-X11-dir
--without-X11-dir
--with-X11-include
--without-X11-include=${X11-dir}/include
--with-X11-lib
--without-X11-lib=${X11-dir}/lib64
--with-X11-lib
--without-X11-lib
--with-X11lib
--without-X11lib
--enable-tcl-h-ver-check
--disable-tcl-h-ver-check
--enable-tk-h-ver-check
--disable-tk-h-ver-check
Warning:: cannot find Tk library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options.
Can't find proper Tcl/Tk libraries. So, can't make tcltklib.so which is required by Ruby/Tk.
If you have Tcl/Tk libraries on your environment, you may be able to use them with configure options (see ext/tk/README.tcltklib).
At present, Tcl/Tk8.6 is not supported. Although you can try to use Tcl/Tk8.6 with configure options, it will not work correctly. I recommend you to use Tcl/Tk8.5 or 8.4.
extconf failed, exit code 1
Gem files will remain installed in /usr/share/gems/gems/tk-0.2.0 for inspection.
Results logged to /usr/lib64/gems/ruby/tk-0.2.0/gem_make.out
[lcl@belexeuli ~]$ locate tcltklib.so
/usr/lib64/ruby/tcltklib.so
Referring to comment 8: tk-8.6.5-1.mga6 Fortunately, my local applications are still running on mga6, with ruby-tk. @Pascal Next step, to try your gem on Cauldron - tomorrow. Installed tk-devel and tried again. $ sudo gem install tk Building native extensions. This could take a while... Successfully installed tk-0.2.0 Parsing documentation for tk-0.2.0 Installing ri documentation for tk-0.2.0 Done installing documentation for tk after 15 seconds 1 gem installed Great work Pascal. The tk gem installs in Cauldron as well. With ruby-devel and tk-devel installed there were no problems. All local ruby/tk utilities are working fine. Many thanks Pascal. So this can be marked as fixed? Sorry for the misunderstanding, I was not expecting you to install the gem, I had actually uploaded a ruby-tk package using it, but if the gem works fine yes this can be close Resolution:
(none) =>
FIXED Re comment 13. No misunderstanding - I went ahead out of curiosity - anxious to see if it worked. |