ActivePerl 5.12 で PAR::Packer をインストール


ActivePerl 5.12 が出たみたいなので PAR::Packer のインストールをクリーンインストールから試してみた。5.10 の時はこんな感じでごく簡単に終了したのだが……。

PARでPerlスクリプトをexe化 @ ActivePerl 5.10.1 build 1007
http://blog.remora.cx/2010/02/par-activeperl-5101-build-1007.html

今回もまずは必要モジュールを先にインストールする。以下の 6 つだ。

  • Module::ScanDeps
  • Win32::Exe
  • Parse::Binary
  • Getopt::Argvfile
  • PAR
  • PAR::Dist

そしていよいよ PAR::Packer……なのだが、これはうまくいかない。

5.12 の PPM レポジトリにはまだ dmake 及び MinGW がリリースされておらず、コンパイルが出来ないのだ。しょうがないので、5.10 の時に使ったパッケージを無理矢理インストールする。

dmake のインストール

ダウンロード

以下のサイトから探してダウンロードした。

ActiveState PPM
The DC…DY Packages
開くのに数分かかる。注意!
http://ppm4.activestate.com/idx/DC…DY.html

dmakeのパッケージ
http://ppm4.activestate.com/MSWin32-x86/5.10/1000/MinGW/dmake-4.11.20080107.ppmx

解凍 & 書き換え

このファイルの拡張子を tar.gz に書き換えて解凍1。すると、dmake-4.11.20080107 フォルダ内に dmake-4.11.20080107.ppd というファイルが現れる。このファイルに Perl 5.12 用の設定を書き足す。

*** dmake-4.11.20080107.ppd.orig    2010-04-19 15:16:28.255610300 +0900
--- dmake-4.11.20080107.ppd 2010-04-19 15:16:38.958803800 +0900
***************
*** 9,13 ****
--- 9,17 ----
      <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10"/>
      <CODEBASE HREF="dmake-4.11.20080107.tar.gz"/>
    </IMPLEMENTATION>
+   <IMPLEMENTATION>
+     <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.12"/>
+     <CODEBASE HREF="dmake-4.11.20080107.tar.gz"/>
+   </IMPLEMENTATION>
    <PROVIDE NAME="dmake" VERSION="4.11.20080107"/>
  </SOFTPKG>

圧縮 & インストール

元からあったファイルを圧縮して dmake-4.11.20080107**.tar.gz** というファイルを作成する2。このファイルの拡張子を .ppmx に変更し、ppm コマンドを使ってインストールする。

C:\> ppm install dmake-4.11-20080107.ppmx
Unpacking dmake-4.11.20080107...done
Generating HTML for dmake-4.11.20080107...done
Updating files in site area...done
 130 files installed

MinGW のインストール

手順は dmake の時と同じだ。

ActiveState PPM
The MC…MM Packages
http://ppm4.activestate.com/idx/MC…MM.html

MinGW のパッケージ
http://ppm4.activestate.com/MSWin32-x86/5.10/1000/-/–/MINGW/MinGW-5.1.4.1.ppmx

*** MinGW-5.1.4.1.ppd.orig  2010-04-19 14:47:57.977384700 +0900
--- MinGW-5.1.4.1.ppd   2010-04-19 14:48:08.727453500 +0900
***************
*** 9,14 ****
--- 9,18 ----
      <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.10"/>
      <CODEBASE HREF="MinGW-5.1.4.1.tar.gz"/>
    </IMPLEMENTATION>
+   <IMPLEMENTATION>
+     <ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.12"/>
+     <CODEBASE HREF="MinGW-5.1.4.1.tar.gz"/>
+   </IMPLEMENTATION>
    <PROVIDE NAME="MinGW" VERSION="5.1.4.1"/>
    <REQUIRE NAME="dmake"/>
  </SOFTPKG>
C:\> ppm install MinGW-5.1.4.1.ppmx
Unpacking MinGW-5.1.4.1...done
Generating HTML for MinGW-5.1.4.1...done
Updating files in site area...done
 940 files installed

PAR::Packer のインストール

これで準備完了だ。cpan コマンドを使って PAR::Packer をインストールしよう。

C:\> cpan -fi PAR::Packer

例によって make test には失敗するので -f (--force) オプションを付けている。これでインストールが完了した。

使用例

C:\> pp -o a.exe -e "print qq:Hello, World!\n:"
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Set up gcc environment - 3.4.5 (mingw-vista special r3)
Copyright (C) 2004 Free Software Foundation, Inc.

~以下略~

C:\> a
Hello, World!

C:\>

  1. 以下、tar.gz 形式の圧縮ファイルの操作には7-zipポータブル版)を使った。 
  2. このとき、圧縮ファイルの直下に .ppd ファイルが来るようにしよう。7-zip を使うならば、blib というフォルダと、dmake-4.11.20080107.ppd というファイルを選択した上で、追加アイコンをクリックする。 

One thought on “ActivePerl 5.12 で PAR::Packer をインストール

コメントを残す