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
しかし、環境によっては、なぜか、自動インストールできないので、次の手順で半自動インストールする。
- cpan を起動する
- cpanプロンプトで下記のように入力する
look S/SR/SREZIC/Tk-804.028_503.tar.gz
- アーカイブの展開に入るが、CPU(ATOMとか)により時間がかかるので、数分あるいはそれ以上、辛抱強く待つとコマンドプロンプトが表示されるので、次のコマンドを入力する。
perl Makefile.PL
- Makefileの作成に関するメッセージがしばらくされる。コマンドプロンプトが表示されたら、次のコマンドを入力する。
dmake
- Tkモジュールがコンパイル中のメッセージがしばらく表示される。コマンドプロンプトが表示されたら、次のコマンドを入力する。
dmake test
- しばらく、いろいろなテスト用のウィンドウが表示される。驚かずにじっくりと眺めていると、コマンドプロンプトが表示されるので、次のコマンドを入力する。
dmake install
- これでインストール作業は終了するが、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モジュールそのものが時代遅れになってきているのかもしれない。
この記事へのコメント
cpan Tk
を実行したところ
特に問題なくインストールされているように見えます
ご報告まで
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.