環境準備 Ubuntu9 + XAMPP(LAMPP) + perl + DBI + DBD::mysql

環境
ubuntu9.10

DBD::mysqlのインストールで数時間嵌った。

インストールの順序は

Ubuntu9
XAMPP(LAMPP)
DBI
DBD::mysql

の順。

DBIまでは無問題。

まず
cpanでinstall DBD::mysqlとやってエラー。

http://www.cpan.org/modules/by-module/DBD/
に行って
最新のDBD-mysql-X.XXXX.tar.gzを落として展開し

perl Makefile.PL

ここで軽く嵌ったが、これはエラー内容でググったらすぐ解決できた。

次に

make

をやると、エラーがでてこれがなかなか解決できなかった。

(中略)
cc1: warning: command line option "-felide-constructors" is valid for C++/ObjC++ but not for C
(中略)

解決のカギとなったのは
http://perldoc.jp/docs/modules/DBD-mysql-2.1026/DBD/mysql/INSTALL.pod
の「Cコンパイラ・フラグ」の項目

mysql-devel あるいは MySQL-develをインストールする必要があります。

「じゃあmysql-develをインストールしよう」

apt-get install mysql-dev


Ubuntu「そんなものはない」

ubuntu "MySQL-devel"」でググったら

http://marinp.blogs.uv.es/2009/12/29/mysql-devel-files-in-ubuntu-and-installing-perl-dbdmysql/

ubuntuではmysql-develという名前が変わっているらしい。
名前を調べるために
端末で

sudo aptitude search mysql | grep devel

とやると、

# aptitude search mysql | grep devel
p liblua5.1-sql-mysql-dev - luasql development files for the lua langu
p libmysql++-dev - MySQL C++ library bindings (development)
c libmysqlclient-dev - MySQL database development files
i libmysqlclient15-dev - MySQL database development files
p libmysqlclient16-dev - MySQL database development files - empty t
p libmysqld-dev - MySQL embedded database development files
p libmysqld-pic - MySQL database development files

と一覧ぽいものがでてきた。

とりあえず「libmysql++-dev」っていうのをインストールした。

apt-get install libmysql++-dev

もういちど

# perl Makefile.PL
# make

をやると、エラーっぽいものはでなくなった。

make test

をするとエラーがでたが、気にせず

make install

すると上手くいった。



■参考
http://perldoc.jp/docs/modules/DBD-mysql-2.1026/DBD/mysql/INSTALL.pod