[Pkg-tcltk-devel] Bug#652612: dependencies are not strict enough : upgrade of tk broke rubytk

Sergei Golovan sgolovan at nes.ru
Tue May 29 16:20:05 UTC 2012


Hi Erwan,

Erwan David wrote:
> Package: libtcltk-ruby1.8
> Version: 1.8.7.352-2
> Severity: grave
>
> I had an upgrade of tk8.5 8.5.10-1 to 8.5.11-1, which broke my rubytk scripts with error message
>
> /usr/lib/ruby/1.8/tk.rb:1127:in `initialize': tcltklib: fail to Tk_Init(). Can't find a usable tk.tcl in the following directories:  (RuntimeError)
>     /usr/share/tcltk/tcl8.5/tk8.5 /usr/lib/tk8.5 /usr/local/lib/tcltk/tk8.5 /usr/local/share/tcltk/tk8.5 /usr/lib/tcltk/tk8.5 /usr/share/tcltk/tk8.5 /lib/tk8.5 /usr/library
>
> /usr/share/tcltk/tk8.5/tk.tcl: version conflict for package "Tk": have 8.5.10, need exactly 8.5.11
> version conflict for package "Tk": have 8.5.10, need exactly 8.5.11
>     while executing
> "package require -exact Tk  8.5.11"
>     (file "/usr/share/tcltk/tk8.5/tk.tcl" line 18)
>     invoked from within
> "source /usr/share/tcltk/tk8.5/tk.tcl"
>     ("uplevel" body line 1)
>     invoked from within
> "uplevel #0 [list source $file]"
>
>
> This probably means that tk wasn't installed properly.
>         from /usr/lib/ruby/1.8/tk.rb:1127:in `new'
>         from /usr/lib/ruby/1.8/tk.rb:1127
>         from /home/users/edavid/bin/launch-ssh.rb:3:in `require'
>         from /home/users/edavid/bin/launch-ssh.rb:3
>
> DOes this means that the libtcltk-ruby must depend on version
> 8.5.10 and not 8.5 >= 8.5.0 ?

I suspect that there was a race in your program (which was started
before tk8.5 is upgraded and linked to libtk8.5.so version 8.5.10, but
initialized after tk8.5 was upgraded, so tk.tcl was sourced from
8.5.11). Could you show me your script, so I'd try to reproduce this
error.

I'm not sure if it's possible to fix such kind of bugs at all...

Cheers!
-- 
Sergei Golovan





More information about the Pkg-tcltk-devel mailing list