pp実行時のCan't find par loader

このQ&Aのポイント
  • Windows-XP+ActivePerl v5.8.8環境で、pp(Perl Packager)を実行しようとすると、Can't find par loaderというエラーが発生します。
  • PARをインストールした後、pp.batを使用できるようにしたいですが、インストール手順に問題があるようです。
  • どなたか対処方法をご存知の方はいらっしゃいますか?お願いいたします。
回答を見る
  • ベストアンサー

pp (Perl Packager) 実行時のCan't find par loader

Windows-XP + ActivePerl v5.8.8 の環境です。 PARを見よう見まねでインストールしてから、ppを実行しようとすると、 -------------------------- D:\Develop\Perl>pp ppp.pl Can't find par loader at C:/Perl/site/lib/PAR/Packer.pm line 101. -------------------------- のようなエラーが出ます。 インストール方法等、何か抜けたものがあるでしょうか。 対処方法等、ご存知の方、よろしくお願いいたします。 ppp.pl内は次のような単純な内容です。 D:\Develop\Perl>type ppp.pl #!perl print "Hello, world!n"; ------------------------------ C:/Perl/site/lib/PAR/Packer.pm のline 101行目は次のような内容★でした。 sub set_options { : $self->{parl} ||= $self->_can_run("parl$Config{_exe}") or die("Can't find par loader"); ←★ : ----------------------------------------- <↓ppが使えるようになると思って、やった手順> 1)ActivePerlは、サイト(http://www.activestate.com/store/activeperl/download)から直接インストール。 2)PARをCPAN(http://search.cpan.org/dist/PAR/lib/PAR.pm)からDLしたtar.gzファイルを使ってインストール 2-1)PAR-0.956.tar.gz をtar解凍 2-2)C:\Perl\dl\PAR-0.956>perl Makefile.PL 実行でMakefile作成 2-3)できたMakefileを使って、C:\Perl\dl\PAR-0.956>nmake 実行 2-4)続いて、C:\Perl\dl\PAR-0.956>nmake install 実行 2-5)C:\Perl\bin 内に、pp.batが出来たことを確認 以上です。よろしくお願いします。

  • supob
  • お礼率81% (49/60)
  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • mflow
  • ベストアンサー率63% (42/66)
回答No.2

私の環境で試してみたところ ppmで3つのモジュールがインストールされ、 pp.batがd:\usr\local\site\bin\pp.batに生成されました。 ふつうはsite\binにpathは通ってないかと思いますので、もしかしたらuninstallされなかったc:\perl\binのpp.batを実行しているということはないでしょうか? ちなみにインストールされたモジュール ・PAR 0.90 ・PAR-Dist 0.21 ・Module-ScanDeps 0.66

supob
質問者

お礼

お礼が遅くなりすみません。 >> c:\perl\binのpp.batを実行しているということはないでしょうか ずばりです!ビンゴ!でした。ありがとうございました。 c:\perl\site\bin\pp.bat を指定してコンパイルさせると無事にexeが作られました。

supob
質問者

補足

ちなみに、C:\perl\bin にも、pp.batがあるのは何故でしょうか。 環境(v5.8.7以前?)によっては、c:\perl\bin に pp.bat を置く 環境になるのでしょうか。 向学のため、もしよろしければお教えください。

その他の回答 (1)

  • mflow
  • ベストアンサー率63% (42/66)
回答No.1

依存関係のあるモジュールがインストールされていないと思います。 ppmからPARをインストールしてみてください。 依存関係のあるモジュールも一緒にインストールしてくれます。

supob
質問者

補足

早速のご回答ありがとうございました。次のように実施してみましたが、症状に変化ありませんでした。[10/20 14:30] C:\Perl\dl\PAR-0.956>nmake clean : C:\Perl\dl\PAR-0.956>nmake uninstall : C:\Perl\dl>ppm uninstall PAR PAR: uninstalled C:\Perl\dl>ppm install PAR Downloading ActiveState Package Repository packlist...not modified Downloading PAR-0.90...done Unpacking PAR-0.90...done Generating HTML for PAR-0.90...done Installing to site area...done 35 files installed   : D:\Develop\Perl>pp ppp.pl Can't find par loader at C:/Perl/site/lib/PAR/Packer.pm line 101. ※ちなみに、ppm[リターン]とだけやると、GUI画面が立ち上がるようになりました。 ActivePerl v5.8.8からそういうように変わったのでしょうか.. (前5.8.7までは、コンソール画面のまま、ppmのv3.2が起動したのですが)

関連するQ&A

  • Encodeモジュールのバージョンアップ

    Encodeモジュールの 2.12は、2005-09-08にCPANでアップされていますが、 EncodeモジュールはPerl5.8では標準モジュールになっておりますが、 バージョンアップを行う場合、Encode-2.12.tarのみダウンロードして 展開後、以下の手動インストールでOKでしょうか? perl Makefile.PL nmake namke test nmake install ちなみにActivePerlは5.8.7で、 インストールされていたEncodeモジュールは 2.10 今回インストールするモジュールのバージョンは 2.12です。

    • ベストアンサー
    • Perl
  • Perlモジュールインストール tarボール? 5.6 5.8 それぞれ?

    WindowsのPerl5.6とPerl5.8を入れております。 最初Perl5.6を c:\usrに入れ 次にPerl5.8を c:\usr\localに入れました。 コマンドプロンプトでperl -vとすると 5.8が動作していました。 webのローカルテスト用に 5.6, 5.8の環境を作成したいのですが ppmでモジュールをインストールする場合は、それぞれのppmを動かせば バージョンを間違えることなく、Perlモジュールがインストールされていますが、 CPANから取得したtar(圧縮されたソース)を展開して、 perl Makefile.PL nmake nmake test nmake install した場合に、最後にインストールした5.8のPerlにモジュールがインストールされるのでしょうか? ppmは問題ないと見ましたが、手動インストールの場合、 5.6, 5.8を指定してインストールすることは可能でしょうか? スマートな解決方法はありますか?(出来るだけ簡単に運用したいので)

    • ベストアンサー
    • Perl
  • PARモジュールインストール

    環境:WinXP pro SP1 ActivePerl 5.8.6 PARをインストールし、コマンドプロンプトで pp -o hoge.exe hoge.pl と打ったところ Can't find par loader at D:/Perl/site/lib/PAR/Packer.pm line 101. と言われました。 CPANのPPMでインストールする際に必要と示されたモジュールはインストール済みなので原因がわかりません。 どなたがご存知の方がおられたらご教授おねがいします。m(_ _)m

    • ベストアンサー
    • Perl
  • pp (Perl Packager) で requireの代わりになるもの

    ActivePerl v5.8.7 をWin-2000で使っています。 オリジナルのスクリプト内で、これもオリジナルのモジュールをrequireしている場合に、 ppでexe形式に変換できるのですが、他のPCでコピーして使おうとしたときに、 ”require先のファイルが無い”とエラーになってしまいます。 これを回避する方法はないでしょうか? (requireの代わりに、該当箇所にモジュールファイルの内容すべてをペーストしてしまう、ということで一時凌ぎはできるのですが、何か違うような気がしています) よろしくお願いいたします。 ------------------------ #!perl require "c:\\perl\\sub\\userfunc.pm"; : : ------------------------ pp -o sample.exe sample.pl c:\perl\sub\userfunc.pm とやって、exeを作っています。 (c:\perl\sub\userfunc.pmを持たないPCで)実行すると、 C:\>sample.exe Can't locate c:\perl\sub\userfunc.pm in @INC (@INC contains: ・・・/inc CODE(0xdca6ac) . CODE( 0xdca7cc)) at script/sample.pl line 2.

    • ベストアンサー
    • Perl
  • CPANモジュール取得におけるmakeについて

    CPANモジュールのインストールについて質問があります。 環境は Windows XP, ActiveParl5.8.8 ,コンパイラはVC++6.0 です。 ※tar.exeとgzip.exeは C:\Perl\binにあります。 現在、Text::NSPというモジュールをインストールしようとしていますが cpan> install Text::NSP を実行すると makefile (1199):fatal error U1033:予期しない'@echo'Stop. nmake --NOT OK とエラーが出ました。 Microsoftサポートオンラインでエラーを調べたら、nmake仕様が原因らしいのですが、どこをどう変えたら解決できるのかが分かりません。 また、nmake ではなく dmake を使おうと思い、 C:\Perl\bin に dmake.exe を起きました。 また、C:\Perl\lib\CPAN のフォルダにあるConfig.pmのmakeを  'make'= q[] ⇒  'make' =q[C:\Perl\bin\dmake.EXE]と変更しました。 上記の変更で実行すると dmake.exe: Error-- 'C:\Perl\libConfig.pm' not found, and can't be made C:\Perl\bin\dmake.exe -- Not OK とエラーになります。 また perl -V:make でmakeを確認しても常に結果が make ='nmake'; としかなりません。 ここが make ='dmake'; と変えられればインストール出来るのかな?とも考えています。 この変更の仕方が調べているのですが、なかなか分かりません。 よろしくお願いします。 ※現在のnmakeの設定で他のモジュールは何の問題もなくインストール出来ています。

    • ベストアンサー
    • Perl
  • Perlスクリプトが実行できない??どうやったら実行できる?

    前にPerlスクリプトを実行する際に、 まず、PCに何かインストールしてから 実行できるようになったのを覚えています。 パソコンを再インストールしたのですが、 何をインストールすれば実行できるように なるか忘れてしまいました。 実行すると ERROR:cmd~~:Cannot start command. (perl.exe ~~.pl 1152 864) と出ています。 どなたか教えてください。 windows2000を使用しています。

    • ベストアンサー
    • Perl
  • CygwinでPerlのCSV_XSを実行する

    Cygwin TerminalをWin7x64にインストールしました。 インストール完了後、Perlプログラムでuse Text::CSV_XSを実行すると Can't locate Text/CSV_XS.pm in @INC エラーが出てしまいます。 ・エラー Can't locate Text/CSV_XS.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 /usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /usr/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/site_perl/5.8 .) at mysql.pl line 11. ・やってみたこと perl -MCPAN -e shell install Text::CSV_XS を実行してみたのですがダメでした。 どのように対応すれば解決できますでしょうか? ご教授お願いします。

    • ベストアンサー
    • Perl
  • さくらスタンダード perl make install

    さくらスタンダード perl make install tokyotyrant-perl-1.16.tar.gzをダウンロード 解凍してtokyotyrant-perl-1.16ディレクトリに移動 perl Makefile.PL && makeというコマンドを実行 そして、 make install としたのですが、エラーになります。 sudo make installとしても権限がないと怒られてしまいます。 どうすればインストールすることができるのでしょうか?よろしくお願いします。

    • ベストアンサー
    • Perl
  • perl リモートでコマンド実行結果取得

    perl 初心者です。 Perlでリモートログイン後grep結果を取得する方法で分からないことがあり質問しました。 rootユーザで実行するPPP.plスクリプト内で、他のサーバにsshでログイン後grepの結果を取得しようと考えていますが、rootユーザでPPP.plを実行しスクリプト内でsshを実行するとパスワードを聞かれてしまいます。 そこで、他のユーザAAAでPPP.plを実行し、sshを実行するとパスワードは聞かれない設定になっているそうです。(詳細は分かりませんが) そこで、実現方法について下記のように考えていますが、他の方法、sshのオプション等他の考えが、あれば教えてください。確認する環境がなくて実行していませんのであっているかも分かりません。 PPP.pl実行サーバ:server1 ssh先のサーバ:server2 PPP.plの実行ユーザ:ROOT パスワードが聞かれないserver1のユーザ:AAA server2のログインユーザ:AAA ※PPP.plの実行ユーザはrootから変更はできません --------------------------------------- #ユーザAAAに変更 system("su - AAA"); #server2のgrep結果取得 my @rtn_grep = `ssh -l AAA server2 grep test /var/log/msg.log`; if($? != 0){ exit; } ## grep結果を参照 XXXX #rootユーザに戻る system("exit"); -------------------------------- 以上です。宜しくお願い致します。

    • ベストアンサー
    • Perl
  • DBD::mysql モジュール

    Perl から MySQL サーバへ接続するため、DBI モジュールを使用しようと思ったのですが、次のエラーメッセージが出て使用できませんでした。 ---------- install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3. Perhaps the DBD::mysql perl module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysqlPP. at test.pl line 46 ---------- そこで、コマンドプロンプトから CPAN 経由で DBD::mysql モジュールをインストールしようとしたのですが、「Warning: No success on command[C:\Perl\bin\perl.exe Makefile.PL]」というメッセージが表示され、インストールに失敗してしまいます。 何が原因なのでしょうか? 解決策をお教え頂ければ幸いです。宜しくお願い致します。 以下にコマンドプロンプトの表示文を示します。 ---------- CPAN: File::Temp loaded ok (v0.18) CPAN: YAML loaded ok (v0.66) CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.006.tar.gz Failed to determine directory of mysql.h. Use perl Makefile.PL --cflags=-I<dir> to set this directory. For details see the INSTALL.html file, section "C Compiler flags" or type perl Makefile.PL --help Warning: No success on command[C:\Perl\bin\perl.exe Makefile.PL] CAPTTOFU/DBD-mysql-4.006.tar.gz C:\Perl\bin\perl.exe Makefile.PL -- NOT OK Running make test Make had some problems, won't test Running make install Make had some problems, won't install ---------- OS : Microsoft Windows XP Home Edition Version 2002 Service Pack 2 perl : ActivePerl v5.10.0 built for MSWin32-x86-multi-thread

    • ベストアンサー
    • Perl