WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ActivePerlとPPM使用不能

0:[投稿] 中根 [MAIL] [2002/08/17 20:11 ][環境:WIN+IE WIN系+Perl]

こんにちは、中根です。

Windows上でActivePerlからMySQLに接続しようと思い、
DBI関係のパッケージをインストールしようとしています。

ppm install DBI
としても、
Installing package 'DBI'...
Error installing package 'DBI': Could not locate a PPD file for package DBI

となるだけです。
CATVですが、「透過的キャッシュサーバ」だそうで、プロキシの設定は
不要のはずなのに、おかしいです。
仕方が無いのでZIPファイルをダウンロードしてきて、
展開して、
ppm install DBI.ppd
としても、
http://search.namazu.org/ml/namazu-win32-users-ja/msg00874.html
から始まるスレッドと同じ症状になります。
Perlのバージョンは合っていますし、パスも通っています。
(掲示板スクリプトなどを開発していますが、正常に動作しています)
このスレッドにあるように、ppm.pmをエディタで書き換えて、
バージョンチェックを無効にしたところ、
ppm install dbi.ppd
で、
Installing package 'dbi.ppd'...
となります。エラーは出ませんが、実際のインストールは行われていないようで、
use DBI;
としたスクリプトを試してみると、エラーになります。

あちこち調べた所、同じような症状は見つかりましたが、
対処法は見つかりませんでした。
tar xzvfで、dbi.tar.gzを展開してみると、いろいろ出てきますが、
これを手動で配置する方法は無いのでしょうか?

よろしくお願いします。


1:[質問] 中根 [MAIL] [2002/08/18 08:04 ]

こんにちは。
念のため、ActivePerlをBuild633に上げてみましたが、
状況は変わりません。

D:\Perl\bin>ppm install DBI.ppd
Installing package 'DBI.ppd'...
Error installing package 'DBI.ppd': Read a PPD for 'DBI.ppd', but it is not int
nded for this build of Perl (MSWin32-x86-multi-thread)

D:\Perl\bin>perl -v

This is perl, v5.6.1 built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2001, Larry Wall

Binary build 633 provided by ActiveState Corp. http://www.ActiveState.com
Built 21:33:05 Jun 17 2002
(以下略)

「MSWin32-x86-multi-thread」で一致しているのに、
どうしてppmが動作しないのでしょう?


2:[完了] 中根 [MAIL] [2002/08/18 17:58 ]

こんにちは、中根です。

いくらいじっても症状が変わらないため、正攻法は諦め、
PPM.pmを調べた所、1550行目付近(あちこちにデバッグ出力
を入れたので、正確な行数は分かりません)にある、
IMPLEMENTATIONブロックが使用中のプラットフォームに
適合しているかを調べている部分をコメントアウトすれば
インストールできました。

もちろん、DBD.ppdには、MSWin32-x86-multi-thread以外の
プラットフォーム用の情報も書いてあるので、
これらは削除する必要があります。

   # Check to see if we've found a valid IMPLEMENTATION for the target
   # machine.
   #return 0 if ((defined $ImplArch) and ($ImplArch ne $Config{'archname'}));
   #return 0 if ((defined $ImplProcessor) and ($ImplProcessor ne $CPU));
   #return 0 if ((defined $ImplLanguage) and ($ImplLanguage ne $LANGUAGE));
   #return 0 if ((defined $ImplOS) and ($ImplOS ne $OS_VALUE));
   #return 0 if ((defined $ImplOSVersion) and ($ImplOSVersion ne $OS_VERSION));

Namazuメーリングリストに提示されている変更法では、
%current_packageが空のままなので、上手く動作しないようです。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World