Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 213852 - sci-electronics/xcircuit doesn't run with tcl/tk 8.5
Summary: sci-electronics/xcircuit doesn't run with tcl/tk 8.5
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Denis Dupeyron (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: tcltk-8.5
  Show dependency tree
 
Reported: 2008-03-18 18:03 UTC by Denis Dupeyron (RETIRED)
Modified: 2009-08-08 15:04 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
xcircuit-3.6.130-r1.ebuild (xcircuit-3.6.130-r1.ebuild,1.36 KB, text/plain)
2008-10-26 14:34 UTC, Federico Ferri (RETIRED)
Details
xcircuit-3.6.142.ebuild (xcircuit-3.6.142.ebuild,1.23 KB, text/plain)
2008-10-26 15:29 UTC, Federico Ferri (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Dupeyron (RETIRED) gentoo-dev 2008-03-18 18:03:17 UTC
sci-electronics/xcircuit builds with tcl/tk 8.5 but doesn't run. That's when using xcircuit-3.4.28 at least since this version contains specific fixes for this. Experimental versions currently in the tree (3.6.*) behave in the exact same way.

Here's the output log:

calchan@trillian ~ $ xcircuit
Error in startup script: version conflict for package "Tk": have 8.5.1, need exactly 8.5
    while executing
"package require -exact Tk $tcl_version"
    invoked from within
"if {$tcl_version < 8.0} {
    return -code error "tkcon requires at least Tcl/Tk8"
} else {
    package require -exact Tk $tcl_version
}"
    (file "/usr/lib64/xcircuit-3.4/tkcon.tcl" line 44)

When deleting "-exact" it runs and seems to work properly. Since we have a bug with blt that looks rather similar (see bug #212711), I'm suspecting the issue is with our implementation of tcl 8.5.

I have CCed Tim Edwards, the author of xcircuit, as he may be interested to know about this (hi Tim !).

Denis.
Comment 1 Federico Ferri (RETIRED) gentoo-dev 2008-05-22 21:28:25 UTC
package require -exact makes little sense in a program (it would make more sense in a test suite).

what the author wants is Tcl/Tk >= 8.0, and Tcl same version as Tk (the last one could be guaranteed by Gentoo Portage)

removing "-exact" is enough, and doesn't break anything backward nor forward.
probably upstream should be informed


to me, the following code is also fine (to be used in place of that if{} block), and is cleaner:

package require Tcl 8
package require Tk 8
Comment 2 R. Timothy Edwards 2008-05-23 00:16:01 UTC
The source code was corrected in version 3.6.131 on May 16, 2008.  I will update verssion 3.4.28.  ---Tim
Comment 3 Federico Ferri (RETIRED) gentoo-dev 2008-10-26 10:15:34 UTC
as today, 'package require' was never fixed upstream.

the above fix applied to lib/tcl/tkcon.tcl works, but another problem arises (runtime: TclCheckBadOctal()), which requires the upgrade to version 3.6.x
Comment 4 Federico Ferri (RETIRED) gentoo-dev 2008-10-26 14:34:53 UTC
Created attachment 169932 [details]
xcircuit-3.6.130-r1.ebuild

this ebuilds add the fix (sed oneliner in src_unpack)

Denis, could you commit this, and possibly add some testing keywords?
Comment 5 Federico Ferri (RETIRED) gentoo-dev 2008-10-26 15:29:30 UTC
Created attachment 169933 [details]
xcircuit-3.6.142.ebuild

as Timothy pointed out, latest version is 3.6.142, and it does not need the above fix.
Comment 6 Federico Ferri (RETIRED) gentoo-dev 2009-08-08 13:24:02 UTC
ebuild has been provided.
can you proceed fixing this bug?

tcl-8.5 is in ~arch going stable as soon as possible
Comment 7 R. Timothy Edwards 2009-08-08 14:27:18 UTC
How does it not run with Tcl/Tk 8.5?  There was an incompatibility with Tcl/Tk 8.5 not working with the "package require -exact" command, because with the introduction of 8.5, the version number down to the sub-sub-version, e.g., 8.5.2, was being compared and found not to match "8.5".  From a standpoint of fixing Tcl/Tk, it strikes me that the sensible thing to do is to compare down to the version number requested;  that is, "package require -exact 8.5" should match any package "8.5.X".  Anyway, the quick fix is to remove "-exact", which I did in xcircuit-3.6.131.  So, in summary, the 3.6.142 ebuild fixes the bug, and this bug should be marked "closed" unless there is more information regarding the specifics of the bug.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2009-08-08 15:04:18 UTC
xcircuit-3.4.30 in tree
xcircuit-3.6.161 in tree

both starts fine here with tcl 8.5