dependancy of i8kutils (tk version)

Bug #1248254 reported by Keltroth
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
i8kutils
Fix Released
Low
vitorafsr

Bug Description

Hi,

The deb dependancy of i8kutils package leads to tk8.4.
When you run i8kmon, the script fails while looking for tk8.5.

Broken dependancy ?

Best regards,
Django

Related branches

Revision history for this message
vitorafsr (vitorafsr) wrote :

Hello Django,

you mean you installed i8kutils without installing tk8.4. Which version of i8kutils are you using? Could you please post here the error you are encountering.

I need more information to conclude what is happening.

Vitor Augusto

Revision history for this message
Keltroth (keltroth) wrote : Re: [Bug 1248254] Re: dependancy of i8kutils (tk version)

Hi,

When I installed i8kutils, aptitude also installed tk8.4 but when I ran
i8kmon I got an error saying tk8.5 was necessary.
I'll try to get this error again tomorrow and then post it here.

Django
* <http://www.flickr.com/photos/keltroth/>*

vitorafsr (vitorafsr)
Changed in i8kutils (Ubuntu):
status: New → Incomplete
Revision history for this message
Keltroth (keltroth) wrote :

Hi,

Here is the error message :

can't find package Tk 8.5
    while executing
"package require Tk $tcl_version"
    (procedure "make_ui" line 16)
    invoked from within
"make_ui"
    (procedure "main" line 4)
    invoked from within
"main"
    invoked from within
"if {$tcl_interactive == 0} {
    main
    vwait forever
}"
    (file "/usr/bin/i8kmon" line 780)

Revision history for this message
vitorafsr (vitorafsr) wrote :

Hi,

this seems your systems has tcl 8.5 installed, as default, but not tk 8.5, and 'i8kmon' complains about the inexistence of this required package. Please install tk8.5, and that might solve. And also check for the installation of tcl8.4 and tk8.4.

Revision history for this message
Keltroth (keltroth) wrote :

Hi, thanks for your answer.

This was the start of my bug report. When I installed i8kutils, aptitude installed tk8.4 as a dependancy. Then when I ran i8kmon I had the error I posted in comment. tk8.5 was not installed.

I think the dependancy with tk8.4 must be changed to tk8.5, am I right ?

Have a look at depends :
$ apt-cache depends i8kutils
i8kutils
  Dépend: libc6
 |Dépend: tk8.4
  Dépend: <wish>
    tk8.4
    tk8.5:i386
    tk8.5
    tk8.6
  Est en conflit avec: <i8kfan>
  Est en conflit avec: <i8kfan:i386>
  Remplace: <i8kfan>
  Remplace: <i8kfan:i386>
  Est en conflit avec: i8kutils:i386

Revision history for this message
Keltroth (keltroth) wrote :

In addition, you're right : tcl8.5 is installed. That's maybe why tk8.5 is mandatory...

Any way to solve this ? I have solved it by installing tk8.5. But the package dependancy is still kind of broken.

Regards,
Django

Revision history for this message
vitorafsr (vitorafsr) wrote :

For sure, one option is to change depency in package, but it will not solve the problem globally. It was a solution for you, and that is ok.

The point is: in this specific case, tcl8.5 is in the system and is the default tcl. And, i8kmon is executed by the default tcl. So, it asks for the same tk version as tcl. And install tk8.5 is a solution to this problem.

But if the version are updated in package (to 8.5), and there is a system with tcl8.4 as default (or tcl8.6), the same problem will arise.

The problem here is a system with a tcl version without the tk counterpart. This is the bug.

One possible solution is to require i8kmon to be executed directly by the tcl/tk version of dependency.

Changed in i8kutils (Ubuntu):
status: Incomplete → Confirmed
assignee: nobody → vitorafsr (vitorafsr)
Revision history for this message
Keltroth (keltroth) wrote :

Thanks for your comment.

Isn't it possible to get dependancy driven by the installed version of tcl ?

I mean :
if tcl8.4 is installed, then i8kutils comes with tk8.4
if tcl8.5 is installed, then i8kutils comes with tk8.5
and so...

Maybe I'm living in a dream world :p

Anyway, thank you again
Regards

vitorafsr (vitorafsr)
affects: i8kutils (Ubuntu) → i8kutils
vitorafsr (vitorafsr)
Changed in i8kutils:
status: Confirmed → In Progress
importance: Undecided → Low
Revision history for this message
Andrej Shadura (andrew.sh) wrote :

As far as I can see, i8kmon doesn't require some specific version of Tcl or Tk. At the same time, since a long time ago, the default version of Tcl and Tk is 8.5, and i8kutils depends on a default version. Apparently, your system still has the old version of tcl package which pulls tcl8.4, or your system is somehow else misconfigured.

Summarising, this doesn't seem like a bug in the package to me, no. The only thing I'd probably do is to remove strict Tk version requirement, it's really not necessary. Also, it's better to use /usr/bin/env tclsh as the shebang, not /bin/sh + exec tclsh magic. In that case, MAKE_LINTIAN_HAPPY trick isn't needed either.

vitorafsr (vitorafsr)
Changed in i8kutils:
status: In Progress → Fix Committed
Revision history for this message
vitorafsr (vitorafsr) wrote :

Fix released on version 1.41.

Changed in i8kutils:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.