2009年5月21日

[mysql 14864] Re: DBD::mysqlのmake testでエラーが発生

>こんにちは。池田です。
ご返信ありがとうございます。

>mysql_sqlstate関数はMySQL 4.1.1で追加されたAPIのようですね。
> http://dev.mysql.com/doc/refman/4.1/ja/mysql-sqlstate.html
>
>エラーを見るとテスト実行時のldエラーのようですし、
>単にlibmysqlclient.soのバージョンが古いだけだったりしませんか?

ご指摘のとおりのようです。

さきほど、lddコマンドで、mysql.soが使うライブラリを確認したところ、
libmysqlclient.so.12 => /usr/sfw/lib/libmysqlclient.so.12

と、バンドルされているライブラリ(/usr/sfw/lib)を参照しているようです。

また、今回、MySQL5.1をインストールしてますが、5.1では、〜.so.12ではなくて、
〜.so.16しか存在してませんが、それを使わせるには、makefile時にどのような
オプション指定をすべきでしょうか?

■makefile時の引数
-----
perl Makefile.PL --cflags="-I/opt/mysql/mysql/include" --libs="-L/opt/mysql/mysql/lib -lmysqlclient -lz -lposix4 -lresolv -lsocket -lnsl -lm -L/usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3 -lgcc"

■環境変数
-----
LD_LIBRARY_PATH=/opt/mysql/mysql/lib:/usr/openwin/lib
PATH=/opt/mysql/mysql/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/dt/bin:/usr/platform/SUNW,SPARC-Enterprise-T1000/sbin:/opt/sun/bin:/opt/SUNWvts/bin

■libmysqlclient.so.*のfind結果
-----
/usr/lib/libmysqlclient.so★
/usr/sfw/lib/libmysqlclient.so
/usr/sfw/lib/libmysqlclient.so.12
/usr/sfw/lib/libmysqlclient.so.12.0.0
/lib/libmysqlclient.so★
/opt/mysql/mysql/lib/libmysqlclient.so☆
/opt/mysql/mysql/lib/libmysqlclient.so.16
/opt/mysql/mysql/lib/libmysqlclient.so.16.0.0

★は、/opt/mysql/mysql/lib/libmysqlclient.so.16をコピーしてます。
☆を、使わせるべきではないかと思ってます。


投稿者 xml-rpc : 2009年5月21日 10:28
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/85253
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。