3

rpm を使用して tcl 用の BLT をインストールしましたが、正しくインストールされているようです。

ウィッシュ内から「package require BLT」を正常に実行できますが、実行しようとすると:

blt::hierbox .h

次のメッセージが表示されます。

ファイル「hierbox.tcl」を読み取れませんでした: そのようなファイルまたはディレクトリはありません

私は調べて/usr/lib64/blt2.4そこheirbox.tclにいて、異常な権限を持っていないようです。

それは問題ないと思いpkgIndex.tclます。そうしないと、パッケージの require コマンドが失敗します。

興味深いことに、BLT のグラフ ウィジェットは問題なく動作しているようblt::graph .gです。

私は tcl についてよく知らないので (レガシー ソフトウェアを動作させようとしているだけです)、どんな助けも大歓迎です。

更新ソースから BLT をビルドしました (ソースから tcl と tk 8.4 もビルドする必要がありました)。ただし、付属のbltwishを使用する場合のみ。他の人が不満を言うのを見たBLTのrpmバージョンには、bltwish exeはないようです。おそらく、これは問題の一部です。

いずれにせよ、私は今それを回避することができるので、他の誰かが苦しんでいない限り、以前の問題を診断する努力をしないでください.

4

1 に答える 1

1

私の Debian システムでは、Tcl 8.6 と 8.5 (デフォルトは前者) の両方を使用しています。標準の debs を使用して BLT2.4 をインストールしました。同じコードを実行すると、動作してhierboxオブジェクトが作成されます。

$ wish
% package require BLT
2.4
% blt::hierbox .h
.h
%

ファイルとファイル/usr/lib/blt2.4を含むディレクトリにBLTがインストールされているので、あなたの条件と同じように見えます(結果を除く)。pkgIndex.tclhierbox.tcl

ファイルを調べたところ、pkgIndex.tclロードするバイナリ ライブラリ ( にある/usr/lib) が選択され、Tclloadコマンドを使用してロードされます。パッケージの宣言は共有オブジェクトによって行われるため、機能する場合は、正しくpackage require BLTロードする必要があります。.so

graph.tclファイルが と同じディレクトリ内にあるかどうかを確認してくださいhierbox.tcl

BTL ソースで、BLT スクリプトを配置する場所を指定--with-bltするスクリプトのオプションがあることを確認しました。configure私のシステムにはあると思いますが/usr/lib/blt2.4、あなたのシステムでは変更されている可能性があります。次に、rpm が間違っているとgraph.tcl、構成オプションで指定された正しい場所にファイルがインストールされる可能性がありますがhierbox.tcl、間違った場所にインストールされるため、機能しなくなります。

他のウィジェットも試して、対応する.tclファイルがどこにあるかを確認してください。

これ以上は言えません、すみません(;_;)

于 2012-10-30T21:27:05.747 に答える