質問: 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の設定で他のモジュールは何の問題もなくインストール出来ています。
回答: 使っているcpanモジュールのバージョンはいくつですか? わたしの手元の環境だと(activeperl 5.8.8 build 819) で、cpan.pmのバージョンは >perl -mcpan -e "print $cpan::version" 1.70 です。 #ちょっと古い config.pm のエントリは 'lynx' => '', 'make' => '', 'make_arg' => '', こんな感じで q[] は使ってません。 とはいうもののこれ自体は違っても何の問題もないはずですけど。 ところでcpanモジュールのコンフィグレーションをいじるのなら、 直接 /lib/cpan/config.pm をいじってもいいですけど、 マルチユーザー環境を校了したつくりになっていますので、 $home/.cpan/cpan/ というディレクトリ($home は homeという 環境変数の設定内容で置き換えてください)にmyconfig.pmという ファイルを置くと、その内容で上書きしてくれます。 書式は config.pmと一緒です。 dmake.exeはもっていないので、cygwinのmakeで試してみました 'lynx' => '', 'make' => 'd:\cygwin\bin\make.exe', 'make_arg' => '', >cpan cpan shell -- cpan exploration and modules installation (v1.70) readline support enabled cpan> o conf make make d:\cygwin\bin\make.exe と書き換わります。 エラーのほうですが dmake.exe: error-- 'c:\perl\libconfig.pm' not found, and can't be made c:\perl\bin\dmake.exe -- not ok dmake.exe自体は起動しているのではないですか? lib と config.pm の間にあるべき \ がないのが気になります。