Tcl/Tk処理系のインストール

Tcl/Tk処理系の各バージョンは、 Tcl Developer Exchangeで無償でダウンロードできます。 現在の最新版は 9.0です。
主なバージョンのリリースの経過はこのようになっています。

8.0.0(1997/08/18) - 8.0.5(1999/03/09)
8.1.0(1999/05/01) - 8.1.1(1999/05/26)
8.2.0(1999/08/18) - 8.2.3(1999/12/17)
8.3.0(2000/02/10) - 8.3.4(2001/10/22)
8.4.0(2002/09/10) - 8.4.19(2008/04/18)
8.5.0(2007/12/20) - 8.5.13(2012/11/12)
8.6.0(2012/12/20) - 8.6.16(2024/12/11)
9.0.0(2024/09/30) - 9.0.1(2024/12/20)


MS-Windowsへのバイナリインストール

MS-Windows環境に向けては、 総本山とは違う場所でバイナリ配布が行われています。 これはActiveTcl と呼ばれるもので、 ActiveStateが、Tcl/Tk本体と、 世界的に有名な数十の拡張ライブラリ群を含めてひとまとめにコンパイルしたものを、 無償で配布しているのです。 (Tcl/Tkが本体処理系に手を加えずに機能拡張可能なソフトウェアだということは、 既にご紹介しましたね??)
ActiveStateはTclのほかにもPerlとPythonのWindows用バイナリパッケージも公開しており、 とても簡単にスクリプト言語環境を整えることができます。 一昔前はスクリプト言語での開発といえば UNIX上でテキストエディタ手書きというのが定番だったのですが、 Windowsでもどうしてなかなか快適な住まいになります。


UNIX系各種OSへのインストール

UNIXマシンの場合はおなじみのソースプログラムのコンパイル・インストールの作業になります。 LinuxなどのPC-UNIXでもSolarisなどのベンダOSでも、特に違いはありません。 ほとんどのUNIXプラットフォームで、スムーズにインストールできると思います。 総本山のこちらに HowTo文書があるので、詳しいオプション等はそちらをご覧ください。

  1. 総本山からリンクをたどり、 Tcl、Tkのアーカイブ(tar+gzipまたはtar+compress)をダウンロードします。
  2. アーカイブを展開します。同じディレクトリから展開するといいでしょう。
    (例)% gzip -cd tcl8.4.12-src.tar.gz | tar xvof -
  3. まずTclのサブディレクトリunixに行きます。
    % cd tcl8.4.12/unix
  4. configureを起動します。大抵のプラットフォームで
    % ./configure
    
    でOKです。この場合は、インストール先は /usr/local になります (つまり実行形式が /usr/local/bin に、ライブラリなどが /usr/local/libの下に構築されます) が、これを変えたい場合には --prefix スイッチを使います。 例えば /home/watasi/local の下にインストールしたい場合には
    % ./configure --prefix=/home/watasi/local
    
    とします。configureスクリプトは、通常はccコンパイラを選んでチェックを進めるはずです (Linuxではgcc)。gccコンパイラを使うよう指示するには、
    % ./configure --enable-gcc
    
    とします。
    また、バージョン8.1の正式リリースからは、 デフォルトでTclのライブラリを共有ライブラリ (libtcl8.4.soなどの名前のライブラリ) として作るようになりました。これをやめさせ、 従来のスタティックリンクライブラリ(libtcl8.4.a)として作らせるには、
    % ./configure --disable-shared
    
    とします。
  5. makeを起動してコンパイルします。
    % make
    
  6. インストールします。
    % su root
    # make install
    
  7. でプログラム(tclsh8.4)、ライブラリ、初期化スクリプト、マニュアルなどが入って一応完成です。 普通次のようにして tclsh の名前で実行できるようにします。
    # cd /usr/local/bin
    # ln -s tclsh8.4 tclsh
    
  8. また、ライブラリがlibtcl8.4がスタティックリンクライブラリ(拡張子が.a) ではなく共有ライブラリ(.soまたは.sl)としてインストールされた場合には、 それが置かれたディレクトリを環境変数 LD_LIBRARY_PATH に追加します。 例えば標準的なLinuxやFreeBSDでTcl/Tkを /usr/local にインストールした場合は、 csh系のシェルの場合次のようになるでしょう。
    setenv LD_LIBRARY_PATH /usr/local/lib:/usr/X11R6/lib:/lib
    
  9. 次にTkのコンパイルに入ります。基本的な手順は同じです。
    % cd tk8.4.12/unix
  10. configureは、
    ・インストール位置は/usr/localでよく、
    ・TclソースとTkソースを同じディレクトリ上で展開しており、
    ・対象マシンにはXウィンドウシステムが1系統しか入っていない
    場合には、
    % ./configure
    
    だけでOKです。Tclをコンパイルしたときのディレクトリが違う場合、 その "unix" ディレクトリの位置を--with-tcl で、 またXウィンドウシステムが2系統以上入っている場合、 対象にしたいヘッダファイルとライブラリの位置をそれぞれ --x-includes と --x-libraries で指定します。例えば、
    % ./configure --with-tcl=../../tcl8.4.12/unix \
      --x-includes=/usr/include/X11R6 --x-libraries=/usr/lib/X11R6 \
      --prefix=/home/watasi/local
    
    ちなみにTcl/Tkには OSF/Motif は不要です。 また、tclshのところで説明したのと同じく、インストール先が /usr/local の下でよければ --prefix も省略できます。
  11. makeを起動します。
  12. tclshと同じようにインストールします。
    # make install
    # cd /usr/local/bin
    # ln -s wish8.4 wish
    


Windowsへのソース配布からのインストール(VS2022)

Windows環境でも、ソース配布を展開して、自分でコンパイルを行うこともできます。 ここではTcl/Tk 8.6.12と9.0.1 をVisual Studio 2022に含まれているVisual C++でコンパイルした時の手順をご紹介します。

  1. まず公式ダウンロードページから、 ソース配布(〜src.tar.gzまたは〜src.zip)をダウンロードして任意の場所で展開します。
    TclとTkのソース配布は別々ですが、できれば同じディレクトリで展開すると楽です。ここでは
    C:\install\tcl8.6.12
    C:\install\tk8.6.12
    に展開したとします。
    またインストール先も決めておきます。どこでもいいですが今回は
    C:\Wintools\tcl8.6.12
    にインストールすることにします。
  2. Visual Studio2022の「x64 Native Tools Command Prompt for VS2022」を起動し、次のコマンドを打ちます。

    cd C:\install\tcl8.6.12\win
    nmake -f makefile.vc release
    mkdir C:\Wintools\tcl8.6.12
    nmake -f makefile.vc install INSTALLDIR=C:\Wintools\tcl8.6.12
    

  3. Tkもほぼ同様です。

    cd C:\install\tk8.6.12\win
    nmake -f makefile.vc release TCLDIR=../../tcl8.6.12
    nmake -f makefile.vc install INSTALLDIR=C:\Wintools\tcl8.6.12
    

公式の手順に従っただけですが、特にエラー等なく完了しました。
なお、9.0.1の場合も手順は全く同じです。特に注意点もありません。


Windowsへのソース配布からのインストール(MinGW/Cygin:古いです)

先のVisual C++(VC++)に加えて、 MinGWも使えます。 これは一言で言うとgccコンパイラとリンカーなどの周辺ツール(UNIXの世界でbinutilsという名前で知られています) を一緒にしてWindows環境に移植したものです。 「あれ?Cygwinとは違うの?」 という方もおられるかもしれませんね。 そうそう、CygwinでもTcl/Tkはビルドできるのでした。ええと、 Cygwinでのインストール方法も後述するのですけど、MinGWとCygwinは別物です。

で、ご自分のお持ちの環境がCygwinかMinGWか分からない場合は、

$ gcc -v
と打ってみて、バージョン番号の後ろに(cygwin special)と出るか、(mingw special)と出るか、どちらも出ないかで分かります。

●MinGWの場合
MinGWは純然たるコンパイル環境なので、 Tcl/Tkのように「configure→make→make install」 を行うコンフィギャーウェアをインストールするには、 sedやawk、installなどのコマンドが追加で必要になります。 これすなわちMinGWと同じサイトで配布されているMSYSがまさにそうであるので、 事前にMinGW+MSYSの環境を構築しておく必要があります。 実験室で試した環境は 「Windows XP Home Edition、MinGW 2.0.0、MSYS 1.0.7」 と、 「Windows7 Home Premium、MinGW 5.1.6、MSYS 1.0.15」 です。 Tcl/Tkのビルド・インストール手順自体はUNIX環境とほぼ同じです。

$ tar xozf tcl8.5.9-src.tar.gz
$ cd win
$ ./configure
$ make
$ make install

configureはunixディレクトリとwinディレクトリに両方にあって人生分かれ道なのですが、 ここはwinディレクトリを選ぶのがコツですよ! ビルドできたtclshやwishは、 標準ではMSYSのディレクトリ内にインストールされますが、 MSYSのシェル以外からも、 普通のWindowsアプリケーションとして起動することができます。

●Cygwinの場合
Cygwinの場合もほぼ同様ですが、幾つか注意点があります。 まず、 CygwinのUNIXエミュレーションDLL(CYGWIN1.DLL)を使う普通のモードではビルドできません。 configureスクリプト中で「Cygwinはサポートされていない。MinGWを代わりに使え」 というエラーメッセージで止められます。 それでもCygwinのgccを使いたい場合には、コンパイラのオプションで、 -mno-cygwinをつけてやります。これは、 CYGWIN1.DLLを必要としない、Windowsネイティヴャの実行形式やDLLをビルドさせる指令です。

$ tar xozf tcl8.4.6-src.tar.gz
$ cd win
$ export CFLAGS="-mno-cygwin -O2"
$ export CPPFLAGS="$CFLAGS"
$ sh configure --enable-gcc
$ make
$ make install

Tkの場合も同様です。

やねうらの top
(first uploaded 1997/08/22 last updated 2025/02/09, MISUMI URANO)