PAR 0.976 ppmによるインストール
Table of Contents
はじめに
ActivePerl 5.6.1.638 で、PARのインストール。 結果的には、失敗事例である。
その他の事例は、PAR関連 を参照。
インストール方法
Active Perl のインストール
- Active Perl 5.6.1.638
- インストール先は C:\usr\Perl\ 。「Enable PPM3 to send profile info to ASPN」のチェックははずしたまま
ppm の設定
http://www.bribes.org/perl/ppm をリポジトリとして設定、優先度を上げる
>ppm3 ppm> rep add bribes http://www.bribes.org/perl/ppm ppm> rep up bribes ppm> rep up bribes
- 5.6用だと、http://theoryx5.uwinnipeg.ca/ppmpackages/ の方がよいかも?
>ppm3 ppm> rep add theoryx5 http://theoryx5.uwinnipeg.ca/ppmpackages/ Repositories: [1] ActiveState PPM2 Repository [2] ActiveState Package Repository [3] theoryx5 ppm> rep up 3 Repositories: [1] ActiveState PPM2 Repository [2] theoryx5 [3] ActiveState Package Repository ppm> rep up 2 Repositories: [1] theoryx5 [2] ActiveState PPM2 Repository [3] ActiveState Package Repository
PAR、PAR-Packer
PAR をインストール
ppm> install PAR
==================== Install 'PAR-Dist' version 0.25 in ActivePerl 5.6.1.638. ==================== Downloaded 17080 bytes. Extracting 19/19: blib Installing C:\usr\Perl\html\site\lib\PAR\Dist.html Installing C:\usr\Perl\site\lib\PAR\Dist.pm Successfully installed PAR-Dist version 0.25 in ActivePerl 5.6.1.638. ==================== Install 'PAR' version 0.976 in ActivePerl 5.6.1.638. ==================== Downloaded 74924 bytes. Extracting 25/25: blib Installing C:\usr\Perl\html\site\lib\PAR.html Installing C:\usr\Perl\html\site\lib\PAR\Environment.html Installing C:\usr\Perl\html\site\lib\PAR\FAQ.html Installing C:\usr\Perl\html\site\lib\PAR\Heavy.html Installing C:\usr\Perl\html\site\lib\PAR\Tutorial.html Installing C:\usr\Perl\site\lib\PAR.pm Installing C:\usr\Perl\site\lib\PAR\Environment.pod Installing C:\usr\Perl\site\lib\PAR\FAQ.pod Installing C:\usr\Perl\site\lib\PAR\Heavy.pm Installing C:\usr\Perl\site\lib\PAR\Tutorial.pod Successfully installed PAR version 0.976 in ActivePerl 5.6.1.638.
PAR-Packer をインストール
ppm> install PAR-Packer
PERL5LIBの設定
PERL5LIBには、C:\usr\Perl\lib;C:\usr\Perl\site\lib を設定する必要がある。
PERL5LIBが設定されていないと、pp.bat を実行しても、下記のようなエラーが発生した。
>pp.bat test.pl Can't locate loadable object for module IO in @INC (@INC contains: CODE(0xa4e2c0 ) C:\usr\Perl\site\lib .) at C:\usr\Perl\site\lib/PAR/Heavy.pm line 103 Compilation failed in require at C:/usr/Perl/lib/IO/Handle.pm line 256. BEGIN failed--compilation aborted at C:/usr/Perl/lib/IO/Handle.pm line 256. Compilation failed in require at C:/usr/Perl/lib/IO/Seekable.pm line 101. BEGIN failed--compilation aborted at C:/usr/Perl/lib/IO/Seekable.pm line 101. Compilation failed in require at C:/usr/Perl/lib/IO/File.pm line 112. BEGIN failed--compilation aborted at C:/usr/Perl/lib/IO/File.pm line 112. Compilation failed in require at -e line 352.
また、環境変数 PERL5LIB に、C:\usr\Perl\lib を追加しただけだと、下記のエラーが発生した。
>pp.bat test.pl Can't locate loadable object for module Win32 in @INC (@INC contains: CODE(0xa599d4) C:\usr\Perl\lib .) at C:/usr/Perl/site/lib/PAR/Heavy.pm line 103 Compilation failed in require at -e line 359.
Win32 は C:\usr\Perl\lib でなく、C:\usr\Perl\site\lib にある。 環境変数 PERL5LIB に、C:\usr\Perl\site\lib も必要。 よって、前述の通り、PERL5LIBには C:\usr\Perl\lib;C:\usr\Perl\site\lib を設定する必要があることがわかった。
これにより、a.exe が作成できた。
、、、と思ったが、生成されたexeファイルは環境によっては正しく動作しないものであった。