在julia 0.3中调用库时出现TclError

时间:2014-09-03 17:10:26

标签: tcl tk julia

我在尝试调用名为“Winston”的库包时遇到如下错误,这是用于绘图的目的。任何人都可以提出解决方案吗?

julia> using Winston
ERROR: TclError("error initializing Tk: version conflict for package \"Tcl\": have 8.5.15, need 8.6")
 in init at /home/devanand/.julia/v0.3/Tk/src/tkwidget.jl:61
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:54
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:245
 in include_from_node1 at ./loading.jl:128
 in reload_path at loading.jl:152
 in _require at loading.jl:67
 in require at loading.jl:51
while loading /home/devanand/.julia/v0.3/Tk/src/tkwidget.jl, in expression starting on line 452
while loading /home/devanand/.julia/v0.3/Tk/src/Tk.jl, in expression starting on line 25
while loading /home/devanand/.julia/v0.3/Winston/src/tk.jl, in expression starting on line 1
while loading /home/devanand/.julia/v0.3/Winston/src/Winston.jl, in expression starting on line 2699

1 个答案:

答案 0 :(得分:4)

错误信息本身很清楚:

error initializing Tk: version conflict for package "Tcl": have 8.5.15, need 8.6

你已经链接到Tk 8.6(某种类型)但你已经链接到Tcl 8.5.15,这不是一个有效的组合(因为Tk 8.6使用了Tcl 8.6的一些功能; Tk 8.5 可能使用Tcl 8.6虽然...)这种链接可能发生在运行时(例如,如果安装的东西是libtcl.so而不是更通常推荐的libtcl85.so或libtcl8.5.so,并且类似于Tk)或者可能比那更静态,但解决它的唯一方法是使用有效的库组合。

目前推荐使用完全相同版本的Tcl和Tk,并注意调试库问题可能非常困难。如果您很幸运,可以使用ldd程序来探测实际链接到可执行文件中的库,这可以帮助指导可能出错的内容。如果事情通过动态定位和加载库来工作,调试产生的混乱可能是非常具有挑战性的......