../mysql/mysql.so
モジュールを検出できないというメッセージが
Perl から出力された場合は、Perl
が共有ライブラリ libmysqlclient.so
を見つけることができなかったことを意味します。
この問題は、以下のいずれかの方法で解決できます。
DBD-mysql
から以下のエラーが出力された場合は、おそらく
gcc
を使用しています(または
gcc
でコンパイルされた古いバイナリを使用しています)。
/usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3'
mysql.so
ライブラリをビルドするときに、リンクコマンドに
-L/usr/lib/gcc-lib/... -lgcc
を追加します(Perl
クライアントをコンパイルするときに、make
からの mysql.so
に関する出力をチェックしてください)。-L
オプションによって、システム内の
libgcc.a
が配置されているディレクトリのパス名が指定されます。
この問題のもう 1 つの原因は、Perl と MySQL
の両方が gcc
でコンパイルされていないことです。この場合、両方を
gcc
でコンパイルすることでこの不一致を解消できます。
テストを実行したときに、DBD-mysql
から以下のエラーが出力されることがあります。
t/00base............install_driver(mysql) failed: Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: uncompress at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
その場合は、-lz
圧縮ライブラリをリンク行に追加する必要があります。これは、lib/DBD/mysql/Install.pm
ファイルの以下の行を変更して行います。
$sysliblist .= " -lm";
この行を以下のように変更します。
$sysliblist .= " -lm -lz";
この後、必ず
make realclean
を実行して、最初からインストールを行います。
動的リンク(SCO
など)をサポートしていないシステム上で Perl
モジュールを使用する場合は、DBI
と DBD-mysql
が組み込まれた静的バージョンの Perl
を作成します。これがうまくいく方法は、DBI
コードがリンクされた Perl
のバージョンを作成して、現在の Perl
の上にインストールすることです。次に、それを使用して、DBD
コードが追加でリンクされた Perl
のバージョンをビルドして、インストールします。
SCO では、以下の環境変数が設定されている必要があります。
shell>LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
or shell>LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell>LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell>MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\
/usr/skunk/man:
最初に、DBI
ディストリビューションが配置されているディレクトリで以下のコマンドを実行して、静的にリンクされた
DBI
モジュールが組み込まれた Perl
を作成します。
shell>perl Makefile.PL -static -config
shell>make
shell>make install
shell>make perl
その後、作成した Perl
をインストールする必要があります。make
perl
の出力に、インストールを行うために実行する必要がある正確な
make
コマンドが示されます。SCO
の場合は、make -f Makefile.aperl inst_perl
MAP_TARGET=perl
です。
次に、今作成した Perl
を使用して、DBD-mysql
ディストリビューションが配置されているディレクトリで以下のコマンドを実行して、やはり静的にリンクされた
DBD::mysql
モジュールが組み込まれた Perl をもう 1
つ作成します。
shell>perl Makefile.PL -static -config
shell>make
shell>make install
shell>make perl
最後に、この新しい Perl
をインストールする必要があります。ここでも、make
perl
の出力に、使用するコマンドが示されます。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.