cpanでDBD::mysqlをインストールしようとすると以下のようなエラーが出てどうしてもインストールできず、事例も見つかりません。

そこで、ActivePerl付属の ppmを用いて
install DBD-mysql
したところインストールに成功と表示されました。
ところが、SQLを呼び出そうとすると、Can't locate DBD/mysql.pm in @INCが出てしまいます。
目的はMySQLをperlで使いたいだけなのですが、何かアドバイスをください。
--------環境-------------
Redhat
Apache2.0.46
ActivePerl5.8.6
perlDBI1.53はcpanでインストール済み
DBD-mysql3.0002がppmでインストール済み



----------エラー------------------------
dbdimp.c: In function `mysql_st_fetch':
dbdimp.c:3429: too few arguments to function `mysql_dr_error'
dbdimp.c:3593: too few arguments to function `mysql_dr_error'
dbdimp.c: In function `mysql_st_FETCH_internal':
dbdimp.c:3931: too few arguments to function `mysql_dr_error'
dbdimp.c:3945: too few arguments to function `mysql_dr_error'
dbdimp.c: In function `mysql_bind_ph':
dbdimp.c:4264: too few arguments to function `mysql_dr_error'
dbdimp.c:4291: too few arguments to function `mysql_dr_error'
dbdimp.c:4303: too few arguments to function `mysql_dr_error'
dbdimp.c: In function `mysql_db_reconnect':
dbdimp.c:4465: too few arguments to function `mysql_dr_error'
make: *** [dbdimp.o] Error 1
/usr/bin/make -- NOT OK

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/04/03 18:07:31
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:j-kyoda No.1

回答回数7ベストアンサー獲得回数3

Can't locate DBD/mysql.pm in @INC

まず、このメッセージですが、perlが、

mysql.pmが、見つけられていないということです。

1)mysql.pmがおいてあるパスを探す。

(例:find / -name mysql.pm 等)

2-1)見つかれば、そのパスを、@INCに追加してみる。

(方法は、「perl @INC 追加」をキーワードにググって)

2-2)見つけられなければ、mysql.pmが

 うまく、入っていない訳で、

 おそらくDBD::mysqlのインストールするものが違うか、

 何かが足りないかでは、ではないかと思われます。

※参考になりそうなサイト

 PerlからMySQLにアクセスする準備

 http://hata.cc/msql/psql.htm

以上、がんばって。幸運をいのる。

id:yshkw

ありがとうございます。

mysql.pmはcpanのbuildディレクトリにしか見つかりませんでした。

ppmはwindows用だからlinuxでは無効ということでしょうかね。

ということは、やはり普通にcpanでDBD-mysqlのインストールをするしかないと。

ということで、どなたか上のエラーを解決する指針をくださいませんか?

2007/03/29 01:56:05
id:syttru No.2

回答回数1ベストアンサー獲得回数0

RPMパッケージからインストールした方が簡単で管理も楽ですよ。

rootでログインして

yum install perl-DBD-MySQL

up2date --install perl-DBD-MySQL

ってやればインストールできると思います。

試してみて下さい。

id:yshkw

そういえばyumまったく使っていなかったです。

perlのモジュールもyumできるんですね。

と思ったらredhatなのでyumがありませんでした。

wget http://www.fedora.us/FEDORA-GPG-KEY

が応答しない・・・

まず、yumをインストールしてから募集を再開しますね。

2007/03/29 14:05:59
id:b-wind No.3

回答回数3344ベストアンサー獲得回数440

Perl はどちらを使用していますか?

その状態だとオリジナルの Perl と ActivePerl が同居しているように思います。

Perl スクリプト(CGI?)の先頭行が、

#!/usr/bin/perl

だとオリジナルの Perl の方を指定しているので DBD::mysql は入っていないはずです。

#!/usr/local/ActivePerl/bin/perl

等に変更してみてください。(パスは実際に存在するものを指定してください。)

id:yshkw

いつもお世話になります。

#/usr/local/ActivePerl/bin/perl

cgiファイルのはこちらのperlを指定しています。

mysql.pmをfindしてもパス内に見つからないので、ppmは機能していない=DBD::mysqlはインストールされていないと考えていいです。

2007/03/29 13:59:30
  • id:yshkw
    すみません。
    DBD::mysqlはデフォルトではすでに入っていたのですが、
    そもそもActivePerlで運営しているのがおかしいということでした。

    ActivePerlをlinuxに入れて、DBD::mysqlがインストールできない!という事例は特殊すぎるため、ここで諦めさせていただきます。回答してくださったみなさまごめんなさい。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません