人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: yshkw
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:2.0 CPAN make Make: MySQL
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● KYODA

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

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

◎質問者からの返答

ありがとうございます。

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

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

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

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


2 ● まこと

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

rootでログインして

yum install perl-DBD-MySQL

up2date --install perl-DBD-MySQL

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

試してみて下さい。

◎質問者からの返答

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

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

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

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

が応答しない・・・

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


3 ● b-wind

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

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

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

#!/usr/bin/perl

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

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

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

◎質問者からの返答

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

#/usr/local/ActivePerl/bin/perl

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ