CPANモジュール取得におけるmakeについて

このQ&Aのポイント
  • CPANモジュールのインストールについて質問があります。
  • 現在、Text::NSPというモジュールをインストールしようとしていますが、makefileでエラーが起きます。
  • nmakeの仕様やdmakeの使い方について調べていますが、解決策が見つかりません。
回答を見る
  • ベストアンサー

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の設定で他のモジュールは何の問題もなくインストール出来ています。

  • nika_
  • お礼率88% (24/27)
  • Perl
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

使っている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 の間にあるべき \ がないのが気になります。

nika_
質問者

お礼

CPANモジュールのバージョン は1.76でした。 sakusaker7のアドバイスを基に色々試した結果、nmakeでは「Text::NSP」をmake出来なさそうだという結論になりました。 また、同様にdmakeでも試しましたが、結果は dmake.exe: Error-- 'C:\Perl\libConfig.pm' not found, and can't be made C:\Perl\bin\dmake.exe -- Not OK となりました。 libConfig.pmの所が私も気になりました。 特にC:\Perl のディレクトリにlibConfig.pm はないですし、あるのは.libのディレクトリですから・・・ 結局、sakusaker7のアドバイス通りcygwinのmake.exeを使用したら何の問題もなくmake出来ました。 ありがとうございます。 Makefileが出来たので、このモジュールを使用出来るようになったと思ったのですが、実行してみると 「 Can't locate Text/NSP/Measures/2DFisher2/twotailed.pm in @INC (@INC contains:C:/Perl/site/lib C:/Perl/lib .) 」 というエラーが出ました。 この指示道りにpmファイルを配置したら、上記のエラーは出ないのですが、次は違うファイルのpmファイルの要求がありました。 ・・・Text/NSP/Measures/2D/MI/ll.pm in @INC ・・・ このpmファイルを検索してもなかったので、 >install Text::NSP::Measures::2D::MI::ll を実行しました。 結果は、 ・・・・up to date. となりインストールは出来ています。 これはどういう事なのでしょうか?

nika_
質問者

補足

以下でお聞きした Can't locate については自己解決出来ました。 大変ありがとうございます。

関連するQ&A

  • モジュールのインストール中のエラー

    モジュールのインストール中に下のようなエラーがでて困ってます。 インストールしているモジュールはNet-SNMP-5.2.0です。 ActivePerl 5.8.8 Build 822を使ってます。 OSはWinodws2000 C:\\Perl_Mo\\Net-SNMP-5.2.0\\Net-SNMP-5.2.0>nmake Microsoft(R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/Net/SNMP/Security/USM.pm blib\\lib\\Net\\SNMP\\Security\\USM.pm AutoSplit: Can\'t open blib\\lib\\Net\\SNMP\\Security\\USM.pm: Permission denied NMAKE : fatal error U1077: \'C:\\Perl\\bin\\perl.exe\' : リターン コード \'0xd\'

  • MacでCPANモジュール利用について

    プログラミング初心者です。うまくいかないので、ご教授願います。 Mac(Snow Leopard)でperlを学びたいと思い、 CPANモジュールをインストールしましたが、 いざ、XML::Feedを使用しようとすると、下記のエラーが出ます。 「Can't locate XML/Feed.pm in @INC ...........(続く)」 これはきちんとモジュールがインストールされていないことでしょうか? 考えられる可能性と回避方法を教えていただけないでしょうかm(_ _)m

    • ベストアンサー
    • Perl
  • CPANの環境、インストール設定

    1.CPANのモジュールの下準備として必要な環境は、LinuxやCygwin環境を導入していること。 2.以下のサイトの右側にあるDownload: CPAN-1.87.tar.gzをクリックしてダウンロードする。 http://search.cpan.org/~andk/CPAN-1.87/lib/CPAN.pm 3.C:\tempを作り、ここにLhaplusなどのソフトで解凍する。 4.コンソールからcd C:tempに移動して以下のコマンドを打つ。 # perl Makefile.PL # make && make test # make install 5.ホームに戻りコンソールから以下のコマンドを実行する。 perl -MCPAN -e shell ほとんどエンターでOK? 6.二回目にperl -MCPAN -e shellを押してcpanを起動する。 cpan>install Bundle::CPAN などでモジュールをインストールする。 以上のことをやってみたのですが、スクリプトが動きませんでした。 各項目で間違っていることろなどを教えてください。 どこかのサイトではコンパイルが必要と書いてあったのですが、何をコンパイルすればいいのかさっぱりわかりません。ここもアドバイスお願いします。

    • ベストアンサー
    • Perl
  • cpanからモジュールをインストール後

    お世話になります。 ネットで調べcpanからモジュールをインストールしました。 # su - # perl -MCPAN -e shell 最初の起動時に質問が出てきてリターンと少しの設定後、 cpan>install XML::RSS # find `perl -e 'print "@INC"'` -name 'RSS.pm' -print ./.cpan/build/XML-RSS-1.05/lib/RSS.pm ./.cpan/build/XML-RSS-1.05/blib/lib/XML/RSS.pm の形でインストールされているのを確認しました。 で、その後、perlのCGIの方で実行すると、 Can't locate XML/RSS.pm in @INC (@INC contains: ./mylib /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at rss.cgi line 10. BEGIN failed--compilation aborted at rss.cgi line 10. になってしまうんですが、次はどうすればよいのでしょうか

    • ベストアンサー
    • 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
  • Cpanのインストールができません。

    こんにちわ。Cpanのモジュールをインストールしたいと思っているのですが、出来ません。順に入力していくとCPAN:NET::FTP: loaded ok Fetching with NET::FTP:: ftp://ftp.perl.org/pub/CPAN/MIRRORDE.BY Fetching with NET::FTP:: ftp://ftp.perl.org/pub/CPAN/MIRRORDE.BY.gz Issuing "C:\WINDOWS\sysytem32\ftp.EXE -n" Unknown host ftp.perl.org. Not connected. Local directory now C:\USR\Perl\bin\sources. Not connectde. Bad luck...Still failde! Can't access URL ftp://ftp.perl.org/pub/CPAN/MIRRORDE.BY. Please check,if the URLs I found in your configuration file()are vaild. The urllist can be edited. E.g with 'o conf urllist push ftp://myurl/' Could not fetch MIRRORED.BY CPAN.pm need at least one URL where it can fetch CPAN files from. Please enter your CPAN site: [ ] このようなメッセージ群がでます。翻訳ソフトで翻訳してみたのですが全くピンときません。どなたか、何を直したらよいのか教えて下さい。よろしくお願いします。

    • ベストアンサー
    • 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
  • 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
  • CPANでのモジュールのアップデート

    CPANでinstall Time::Localを実行して、「/usr/bin/make install -- OK」と最終的に表示されるのですが、「perl -MTime::Local -e 'print $Time::Local::VERSION'」を実行して、バージョンを確認すると、Time-Local-1.2300.tar.gzを解凍して、実行しているのにもかかわらず、1.1とバージョンが表示されてしまいます。この原因と、バージョンを1.23にする方法を教えてください。

    • ベストアンサー
    • Perl
  • CPANモジュールのサーバへのインストールについて

    XML::Simple がサーバ内にないようで、 http://search.cpan.org/~grantm/XML-Simple-2.14/lib/XML/Simple.pm から.tarファイルダウンロードして、Lhaplusで解凍。FTPでサーバのwww/mt/extlib/XML/Simple.pmに入れました。 これでperlを use lib'.mt/extlib'; use XML::Simple; と書いてみたのですが、CGIはうまく動いてくれませんでした。 CPANモジュールを使うのは初めてなのですが、C++でコンパイルしろだとかtelnet.exeを使うとかの説明をよく理解できません。FTPを使ってサーバにあげる方法ではうまくいかないのでしょうか?それとも原因はほかにあるのでしょうか? よろしくお願いします。 PC:Win XP 解凍ソフト:Lhaplus FTP:FFFTP サーバ:さくらレンタルサーバ・スタンダード(Movable Type 3.15ja入れてます)

専門家に質問してみよう