Windows Server で IPC::Run をインストールしたらまたトラブル

  • 投稿日:
  • by
なんでこう Windows Server って面倒なんでしょうか... mt-check.cgi の実行結果に、新たに IPC::Run が追加された。確か MT で GD を使うために必要なモジュールだったと記憶している。

Windows Server には入っていなかったので、それじゃ入れておこうと思って PPM で検索したが、モジュールがない様子。調べてみると tcool リポジトリを追加するらしい。
PPM で tcool リポジトリを追加して検索。出てきた出てきた。ちなみに IPC::Run3 は別物です。ご注意を。

バージョン 0.80 が入ったようなので、mt-check.cgi で確認。...あれ??mt-check.cgi の実行でエラーが出たぞ...
Win32 version 0.27 required--this is only version 0.26 at C:/Perl/lib/Cwd.pm line 692. BEGIN failed--compilation aborted.
Perl の Cwd.pm でエラーが発生しているとのこと。コードは読めないが、 何かに 0.27 以上のバージョンが必要らしい。でも IPC::Run のバージョンは 0.80 だし、このモジュールのインストール前は mt-check.cgi は正常に動いてたし...

あー、なんか依存関係で一緒にモジュール入っちゃったのかなー。PPM のインストール時の Status を確認すると、libwin32-0.26 というのが一緒に入っていた。これか!

Installed が 0.26 で Available が 0.29 なので、IPC::Run のインストールの時に古いバージョンで上書きされたんだろうなぁ。
改めて 0.29 をインストールして mt-check.cgi を実行。今度は正常に実行された。IPC::Run もきちんと認識されてる。よしよし。

しかし Windows Server は面倒くさいなー。つーか ActivePerl の PPM の依存関係の解決の仕方の問題?いや、やっぱ IPC::Run の問題なのかなー。分からないけど、解決したからまぁいいや。

ということで、IPC::Run をサーバーにインストールする場合には気をつけましょうというお話でした。