some packages do not build against version 8.6 and show errors like this:
error: 'Tcl_Interp' has no member named 'result'
error: 'Tcl_Interp' has no member named 'errorline'
This is due to a removal of an old and deprecated (at least since 2004) feature.
Here some simple fixes:
Version A (will stop working with tcl/tk-9.0):
-DUSE_INTERP_RESULT and/or -DUSE_INTERP_ERRORLINE
to the *FLAGS.
Version B (long lasting and better):
patch code (and send upstream) to use
Tcl_GetResult(), Tcl_GetStringResult(), Tcl_SetResult(), Tcl_SetStringResult(), Tcl_GetErrorLine()
@@ -1980,10 +1980,10 @@ void tcl_run(
trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);
if (trace == NULL)
- trace = interp->result;
+ trace = Tcl_GetStringResult(interp);
fprintf(stderr, "%s: TCL error @ line %d: %s\n",
- script, interp->errorLine, trace);
+ script, Tcl_GetErrorLine(interp), trace);
Some more little facts:
* Please link against libtcl.so and libtk.so instead of libtcl8.6.so and libtk8.6.
* Version 8.6 supports pkg-config
* Version 8.6 is subslotted.
One additional note:
application-specific initialization failed: package not known
invalid command name "auto_mkindex_parser::command"
This comes from a broken dev-lang/tcl-8.6.0. Revision 1 is fixed.
(In reply to comment #1)
> One additional note:
> application-specific initialization failed: package not known
> invalid command name "auto_mkindex_parser::command"
> This comes from a broken dev-lang/tcl-8.6.0. Revision 1 is fixed.
my way is from bug 154 - 360 to here, but sorry to say - i dont see that -r1 is fixing this problem. At least the 360 bug (opencascade) still ends at the same place.
I'm not seeing how packages that misuse Tcl APIs (e.g dev-lang/gnu-smalltalk) are halting stabilization of Tcl. I've already done due diligence on bug 492710 and got something in motion there, but in my research I didn't find problems with Tcl itself building.
There is a QA bug (bug #554260) regarding manpage/library permissions, which I've added to Depends-On. It should be a simple fix (find out when/where it installs manpages and alter accordingly), but it's a legitimate blocker.