Strawberry Perl 5.12.0 にTkをインストールする

問題:

Strawberry Perl 5.12.0 で cpan Tk を実行しても下記のコンパイルエラーが発生してインストールできない。

cd pTk && dmake DEFINE=""
gcc -c  -I.. -I../pTk/mTk/xlib -I. -Ibitmaps -I../pTk/mTk/xlib     -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_READFIX -DPERLDLL -s -O2       -DVERSION=\"804.028\"     -DXS_VERSION=\"804.028\"  "-IH:\strawberry\perl\lib\CORE"   -Wall -Wno-implicit-int -Wno-comment -Wno-unused -D__USE_FIXED_PROTOTYPES__ tkWinX.c
In file included from tkWinX.c:28:
h:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.4.3/../../../../i686-w64-mingw32/include/commctrl.h:15:2: error: #error _WIN32_IE setting conflicts
(…省略…)
dmake:  Error code 129, while making 'tkWinX.o'
dmake:  Error code 255, while making 'pTk\libpTk.a'

解決方法:

Tk-804.028ではなく、開発者用リリースのTk-804.028_503をインストールする。

コマンドラインから次のように入力する。

cpan S/SR/SREZIC/Tk-804.028_503.tar.gz

しかし、環境によっては、なぜか、自動インストールできないので、次の手順で半自動インストールする。

  1. cpan を起動する
  2. cpanプロンプトで下記のように入力する
    look S/SR/SREZIC/Tk-804.028_503.tar.gz
  3. アーカイブの展開に入るが、CPU(ATOMとか)により時間がかかるので、数分あるいはそれ以上、辛抱強く待つとコマンドプロンプトが表示されるので、次のコマンドを入力する。
    perl Makefile.PL
  4. Makefileの作成に関するメッセージがしばらくされる。コマンドプロンプトが表示されたら、次のコマンドを入力する。
    dmake
  5. Tkモジュールがコンパイル中のメッセージがしばらく表示される。コマンドプロンプトが表示されたら、次のコマンドを入力する。
    dmake test
  6. しばらく、いろいろなテスト用のウィンドウが表示される。驚かずにじっくりと眺めていると、コマンドプロンプトが表示されるので、次のコマンドを入力する。
    dmake install
  7. これでインストール作業は終了するが、cpanに戻る必要がある。コマンドプロンプトが表示されたら、次のコマンドを入力する
    exit
    そして、cpan に戻ったら、次のコマンドを入力してcpanを終了する
    q

ポータブル版を使用したためか、cpan S/SR/SREZIC/Tk-804.028_503.tar.gz で自動インストールしたら、1度、パスが見つかりませんといった系統のエラーが表示された。Strawberry Perl を再インストールすると正常に動作したので、こちらで余計な設定をしたのが原因かもしれない。

あとがき

Perl/Tkの開発そのものは2007年ごろから既に進んでいないようである。しかし、継続して新しいPerlでビルド可能なようにパッチがあて続けられているらしい。
Strawberry Perl で Tkのインストールが失敗したのは今回が初めて。2004年から大きな修正を加えられていないTkモジュールそのものが時代遅れになってきているのかもしれない。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

ベツレヘム
2017年09月03日 02:36
5.26.0.1 (32bit)で
cpan Tk
を実行したところ
特に問題なくインストールされているように見えます

ご報告まで
通りすがり
2018年03月16日 14:50
windows 10 64bit、strawberry-perl-5.26.1.1-64bit-portableでは
cpan Tkではインストールできなかった。インストールできずにその方法を探している人のために、下記にその方法を記載しておきます
-
Easy way to install TK on Strawberry PERL ON WINDOWS!!
Thanks to the reply to the post by Felipe (http://erez.wordpress.com/2008/08/11/strawberry-perl-forever/), here are the steps:
1. Download Tk module from cpan (http://search.cpan.org/~srezic/Tk-804.034/) 
2. Extract it to a folder. 
3. Move it to C:\Perl\cpan\build\Tk-804.034
4. Open Command Prompt 
5. Go to cd C:\strawberry\perl\lib\foldername and pressed enter. 
6. Then type: perl makefile.pl and pressed enter.. Wait for a few minutes till you see the command prompt. 
7. Then type gmake test and press Enter. 
8. Then type gmake install and press Enter.

この記事へのトラックバック