• 追加された行はこの色です。
  • 削除された行はこの色です。
*DBD::mysql はエラーなる場合の解決方法 [#h9b7abb5]
CPANにてDBD::mysqlを導入する際に発生する下記エラーの対処方法。~

よくあるエラー、
 Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.
 readline() on closed filehandle PIPE at Makefile.PL line 176.
これは、この辺 を参考に、mysql_config にシンボリックリンクを張って解決できます。
 ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
という感じです。
そして次に出てきたエラーは、
 Note (probably harmless): No library found for -lmysqlclient
これは解決に手間取りました。この辺 が参考になります。
まず、先ほどの「mysql_config」を使い、
 /usr/local/mysql/bin/mysql_config --libs
で、吐き出されたデータをメモ。次に、
 /usr/local/mysql/bin/mysql_config --cflags
で、吐き出されたデータをメモします。
CPANでインストール途中だったソースのあるディレクトリに移動します。
 cd /root/.cpan/build/DBD-mysql-2.9003/
メモしたパスをつなげて、
 perl Makefile.PL --cflags=-I/usr/local/mysql/include/mysql "--libs=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm"
とタイプします。(一行で。)
「Makefile」ファイルが正常に生成されたらOKです。後は、
 make
 make test
 make install
で、残りのインストールを完了します。(
** mysql_configのエラー [#rbe02567]
下記のエラーはmysql_config にシンボリックリンクを張って解決できます。~

 Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.
 readline() on closed filehandle PIPE at Makefile.PL line 176.

シンボリックリンクを張って対処する。

 ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config

** コンパイルエラー [#nf38e20b]
上記エラーを解決したあとに発生するエラー。

 Note (probably harmless): No library found for -lmysqlclient

mysql_configを使い情報の収集を行う。~

 # /usr/local/mysql5/bin/mysql_config --libs
 -L/usr/local/mysql5/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm

 # /usr/local/mysql5/bin/mysql_config --cflags
 -I/usr/local/mysql5/include/mysql

二つのコマンドの出力結果をメモし、CPANでインストール途中だったソースのあるディレクトリに移動。~

 cd /root/.cpan/build/DBD-mysql-2.9003/

メモしたパスをつなげて、下記のコマンドを実行。

 perl Makefile.PL --cflags=-I/usr/local/mysql/include/mysql "--libs=L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm"

Makefileが正常に生成されたことを確認し、コンパイル・インストールを行う。

 make
 make test
 make install


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS