安装BLT但尝试使用hierbox会出现“无法读取文件hierbox.tcl:没有这样的文件或目录”

时间:2012-10-30 15:20:19

标签: tcl

我已经使用rpm为tcl安装了BLT,看起来它已正确安装。

从愿望中我可以成功执行“package require BLT”但是,如果我尝试这样做:

blt::hierbox .h

我收到以下消息:

  

无法读取文件“hierbox.tcl”:没有这样的文件或目录

我查看了/usr/lib64/blt2.4heirbox.tcl就在那里,似乎没有任何异常的权限。

我猜pkgIndex.tcl必须正常,否则package require命令会失败。

有趣的是,BLT的图形小部件似乎工作正常:blt::graph .g有效。

我不太了解tcl(我只是想让一些遗留软件工作)所以任何帮助都会非常感激。

更新我已经从源代码构建了BLT(它还需要从源代码构建tcl和tk 8.4),这似乎有效。但是,只有我使用随附的bltwish。我看到其他人抱怨的转速版本的BLT似乎没有任何一个bltwish exe。也许这是问题的一部分。

无论如何,我现在可以解决这个问题,所以除非其他人也受苦,否则不要去做任何诊断我以前问题的努力。

1 个答案:

答案 0 :(得分:1)

在我的Debian系统上,我使用Tcl 8.6和8.5(前者作为默认值),我使用标准debs安装了BLT2.4,如果我运行相同的代码,它可以工作并创建{ {1}}对象。

hierbox

BLT安装在$ wish % package require BLT 2.4 % blt::hierbox .h .h % 目录中,其中包含/usr/lib/blt2.4文件和pkgIndex.tcl文件,因此它看起来与您的条件相同(除了结果)。

我查看了hierbox.tcl文件,然后选择要加载的二进制库(位于pkgIndex.tcl中),并使用Tcl /usr/lib命令加载它。包的声明由共享对象完成,因此如果load有效,则需要正确加载package require BLT

尝试查看.so文件是否与graph.tcl位于同一目录中。

我在BTL源代码中看到hierbox.tcl脚本有一个--with-blt选项,用于说明放置BLT脚本的位置。我认为它在我的系统上是configure,但也许在你的系统上它已被改变;然后,如果rpm错误,它可能会将/usr/lib/blt2.4文件安装在配置选项给出的正确位置,但graph.tcl位于错误的位置,这样它就不再起作用了。 / p>

尝试其他小部件,并查看相应的hierbox.tcl文件的位置。

我不能再说这个了,抱歉:)