gstでTcl/Tk8.5 解決

 昨日の記事で書いた GNU Smalltalk2.3.6+Tcl/Tk8.5 の問題が解決しました。

$ cd /usr/lib
$ sudo ln -s /usr/local/lib/libtcl8.5.so.0 libtcl8.5.so
$ sudo ln -s /usr/local/lib/libtk8.5.so.0 libtk8.5.so

なんと、これだけで解決。Tcl/Tk8.5をインストールしたのは /usr/local/lib なのですが、何故か /usr/lib から共有ライブラリを探していたために Object: DLD error: requested module blox-tk was not found というエラーが出たみたいです。なので、上記の方法でリンクを張ってやれば解決。コンパイルの結果に異常があると思い込んでいたために解決に時間がかかってしまったorz コンパイルは問題無く成功していたようです。
 アンチエイリアスが有効になりだいぶ美しくなりました^^ システムブラウザで使われるフォントやフォントサイズを変更するには smalltalk/blox-tk/BloxBasic.st の992行目あたりにある、メソッドdefaultFont が返す値(フォント名とサイズ)を変更すればOKです。*1自分の環境で使えるフォントを調べるには、 BLOX.Blox fonts とすれば使えるフォント名が返ってきます。自分は Andale Mono を指定しているのですが、このようにフォント名にスペースが含まれる場合、 AndaleMono というふうにする必要があります。フォント名に誤りがあると結構大げさなエラーメッセージを吐いて起動できない時があるのでちょっとびっくりする^^; ちなみに、Tcl/Tk8.4を使っている時は、 andale-mono というふうにスペースの部分は"-"で埋める必要がありました。何故こうゆう違いがあるのかは不明です。

この画像を大きいサイズで見たいという方はこちらからどうぞ。(別窓で開きます)

追記
 どうもシステムブラウザが安定しないので、(クラス検索などをしていると、いきなりクラッシュして終了したりする)ためしに --enable-jit オプションを付けずにコンパイルし直したら安定した。このオプションを付けるとgstが速くなるのは良いんですが、ブラウザが安定しないのは困るので今回は外した。ちなみに、 --enable-gtk=blox オプションを付けると標準で GTK+ なブラウザ blox-gtk が使えます。けど、こちらはかなり安定してません。とにかく終了しまくりです。外観は格好いいんですけどねぇ。自分は環境に合わせて libgtk2.0-dev を入れてコンパイルしたのですが、 libgtk-dev(gtk1.2) だと安定するのかなぁ?(未確認)

*1:GNU Smalltalk3.0以降はこの方法が使えません。システムブラウザを使ってファイルを編集します。