CPANにてDBD::mysqlを導入する際に発生する下記エラーの対処方法。
下記のエラーは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
上記エラーを解決したあとに発生するエラー。
Note (probably harmless): No library found for -lmysqlclient
mysql_configを使い情報の収集を行う。
# /usr/local/mysql/bin/mysql_config --libs~ -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm
# /usr/local/mysql/bin/mysql_config --cflags~ -I/usr/local/mysql/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