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.
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
The source code was corrected in version 3.6.131 on May 16, 2008. I will update verssion 3.4.28. ---Tim
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
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?
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.
ebuild has been provided. can you proceed fixing this bug? tcl-8.5 is in ~arch going stable as soon as possible
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.
xcircuit-3.4.30 in tree xcircuit-3.6.161 in tree both starts fine here with tcl 8.5