Tsuneyasu KOMIYA

TUTScheme,TUTScheme/Tkの処理系

[最近の更新内容]

※TUTScheme/Tk は TUTSchemeにTcl/TkのTkの機能を組み込んだものです.サンプルプログラムとして,SICP(日本語版SICP)の図形言語を用意しています.
Fedora Core, Cygwinで利用の際はトラブル対処もご覧下さい.

TUTSchemeのマニュアルページ(html)

TUTScheme Tips

Cygwin で必要なパッケージ

ソースからコンパイルする場合: 「TUTScheme/Tk(バイナリ)」を使うには,Libs の tcltk 及び readline が必要です.

TUTSchemeのコンパイルとインストール

ソースからコンパイル&インストールする場合

(上記ソースパッケージのREADMEファイルにも情報があります.)
標準的なインストール方法は,
  % make tus           ;; make コマンドは一応 GNU Make を想定しています
                       ;;(多くのシステムでの make は GNU Make だと思います)
  # make install-tus   ;; root権限で実行
です./usr/local/bin/{tus, tus2} と /usr/local/lib/tus/* が作成されます. インストール後は,ソースのディレクトリは不要です.TUTScheme/Tk の場合は,上記に現れる全ての"tus"を"tustk"に置き換えて下さい.

バイナリ版をインストールする場合

  # cd /usr/local
  # tar zxf tus-xxx.tar.gz あるいは tar zxf tustk-xxx.tar.gz

TUTScheme(/Tk)の起動コマンド

TUTscheme は tus あるいは tus2,TUTScheme/Tk は tustk あるいは tustk2 です.tus2, tustk2 は行編集機能,ファイルコンプリーション機能付です (使い方は Bashを参考にしてください).

トラブル対処

`make tus' が正常に終了したにもかかわらず,インストールした TUTScheme (コマンド名 tusあるいはtustk)が起動できない場合は,以下をお試し下さい.
  # make install-tus    ;; とりあえずインストールする
  # tus
  (ここで Segmentation fault 等で tus を実行できない場合は引き続き以下を行う)
  # rm /usr/local/lib/tus/saved_image
  # cp -r lsp /usr/local/lib/tus
  # vi /usr/local/bin/tus   ;; /usr/local/bin/tus をエディット
    「exec /usr/local/lib/tus/raw_tus -l/usr/local/lib/tus/ -h32 "$1" "$2"」を
    「exec /usr/local/lib/tus/raw_tus -L/usr/local/lib/tus/lsp -l/usr/local/lib/tus/ -h32 "$1" "$2"」と変更
  # vi /usr/local/bin/tus2
  (/usr/local/bin/tus と同様の修正を行う)
この修正は,起動したプロセスが毎度同じアドレスのメモリを割当てできないシステムにおいて必要です.現在,Fedora Core release 2 と一部の(??) Cygwin で必要なことを確認しています.

Cygwinでのコンパイル

最新版のCygwinでは,`make tus' あるいは `make tustk' でエラーが生じるかも知れません.その場合は,c/scheme.hの913行目から始まる
  #elif defined(__CYGWIN32__)
  #define     ADDRESS(obj)    ((0x03fffffc & (unsigned)(obj)) | 0x10000000)
  #define     SSERDDA(adr)    (0xefffffff & (unsigned)(adr))
の3行をコメントアウトするか消去してください(今のところ,自動判別する ようになっていません).

CygwinでのTUTScheme/Tkの実行

Cygwin版TUTScheme/Tkの実行で「Can't find a usable init.tcl in the following directories: ...」というエラーが出る場合は, /usr/local/bin/{tustk,tustk2}に
  TCL_LIBRARY=/usr/share/tcl8.4
  export TCL_LIBRARY
を追加してください.make 時にも同様のエラーが出る場合は,shell 上で上 記2行を実行してから make して下さい.

その他

Q. [08/09/03] Ubuntu (8.04)でTUTScheme/Tkをmakeすると,tcl-dev及びtk-devパッケージがインストールされているにも関わらず,tcl.hやtk.hが見つからずエラーとなる.
A. config/Makefile.inの25行目
  INCLUDES= -I. -I$(srcdir)/c
  INCLUDES= -I. -I$(srcdir)/c -I/usr/include/tk
のようにtcl.hとtk.hの置かれるディレクトリを追加指定してください(修正後,make clean-tustkしてからmakeし直してください).
※この報告&修正法は,須田瑛大さん@京都大学工学部情報学科より,お知らせ頂きました.どうもありがとうございます.エレガントな解決法はまた考えるとして:-),Ubuntu使いの方はお試しください.

Q. [11/20] TUTScheme/Tk を起動すると,窓が新たに1つ開くはずなのに開かない.
A. ソースをこのように修正してみて下さい(いずれ,配布ソース・バイナリに反映させます).
※この不具合&解決法(!)は,村瀬昌満さん@京都大学大学院奥乃研究室より,お知らせ頂きました.どうもありがとうございます.

その他のソフトウェア(TUTSchemeと関係なし)


問い合わせ先

までお願いします. 要望や「OS XXX でコンパイルできない」等の情報も大歓迎です.