已安装BLT,但试图使用hierbox提供;不能';t读取文件hierbox.tcl:没有这样的文件或目录";

已安装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工作正常

我已经使用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
工作正常

我对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
),并使用tcl
load
命令加载它。包的声明由共享对象完成,因此如果
包需要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选项,因此不在标准位置)都可以正常工作。