已安装BLT,但试图使用hierbox提供;不能';t读取文件hierbox.tcl:没有这样的文件或目录";
我已经使用rpm安装了BLT for tcl,看起来安装正确 我希望能够成功执行“包要求BLT”,但如果我尝试执行:已安装BLT,但试图使用hierbox提供;不能';t读取文件hierbox.tcl:没有这样的文件或目录";,tcl,Tcl,我已经使用rpm安装了BLT for tcl,看起来安装正确 我希望能够成功执行“包要求BLT”,但如果我尝试执行: blt::hierbox .h 我得到以下信息: 无法读取文件“hierbox.tcl”:没有这样的文件或目录 我已经查看了/usr/lib64/blt2.4和heribox。tcl在那里,似乎没有任何异常权限 我猜pkgIndex.tcl必须正常,否则package require命令将失败 有趣的是,BLT中的graph小部件似乎工作正常:BLT::graph.g工作正常
blt::hierbox .h
我得到以下信息:
无法读取文件“hierbox.tcl”:没有这样的文件或目录
我已经查看了/usr/lib64/blt2.4
和heribox。tcl
在那里,似乎没有任何异常权限
我猜pkgIndex.tcl
必须正常,否则package require命令将失败
有趣的是,BLT中的graph小部件似乎工作正常:BLT::graph.g
工作正常
我对tcl了解不多(我只是想让一些遗留软件正常工作),因此非常感谢您的帮助
更新我已经从源代码构建了BLT(这也需要从源代码构建tcl和tk 8.4),这似乎是可行的。但前提是我要用它附带的bltwish。在我看到其他人抱怨的BLT的rpm版本中,似乎没有bltwish exe。也许这就是问题的一部分
在任何情况下,我现在都可以解决这个问题,所以不要去诊断我以前的问题,除非其他人也有问题。在我的Debian系统上,我同时使用Tcl 8.6和8.5(默认情况下使用前者),我已经使用标准debs安装了BLT2.4,如果我运行相同的代码,它工作并创建
hierbox
对象
$ wish
% package require BLT
2.4
% blt::hierbox .h
.h
%
BLT安装在/usr/lib/blt2.4
目录中,其中包含pkgIndex.tcl
文件和hierbox.tcl
文件,因此它似乎与您的情况相同(结果除外)
我查看了pkgIndex.tcl
文件,它选择了一个要加载的二进制库(位于/usr/lib
),并使用tclload
命令加载它。包的声明由共享对象完成,因此如果包需要BLT
工作,它需要正确加载.so
尝试查看graph.tcl
文件是否位于与hierbox.tcl
相同的目录中
我在BTL源代码中看到,配置
脚本中有一个--with blt
选项,用于告诉blt脚本的放置位置。我想在我的系统上是/usr/lib/blt2.4
,但在你的系统上可能已经改变了;然后,如果rpm错误,它可能会将graph.tcl
文件安装在配置选项给定的正确位置,但将hierbox.tcl
安装在错误位置,使其不再工作
也试试其他小部件,看看相应的.tcl
文件在哪里
我只能说这些,对不起:)谢谢你的回复。我已经检查过了,graph.tcl与hierbox.tcl位于同一位置。我也有一个安装了BLT的Ubuntu盒,这个很好用。我试过比较两台机器之间的pkgIndex.tcl文件,它们有点不同,但我似乎无法让Ubuntu在另一台机器上工作。在任何情况下,我的源代码构建(配置了--prefix选项,因此不在标准位置)都可以正常工作。