Perl が ../mysql/mysql.so
        モジュールを見つけることができない場合、その問題は多分
        Perl が libmysqlclient.so
        共有ライブラリの場所が分からないためです。この問題は以下のメソッドの
        1 つで解決できるはずです。
      
            DBD::mysql 配布を
            perl Makefile.PL
            の代わりに perl Makefile.PL
            -static -config でコンパイルします。
          
            libmysqlclient.so
            をほかの共有ライブラリがある (多分
            /usr/lib あるいは
            /lib)
            ディレクトリにコピーします。
          
            DBD::mysql
            のコンパイルに使用される -L
            オプションを変更して
            libmysqlclient.so
            の実際のロケーションに入れます。
          
            Linux
            では、libmysqlclient.so
            があるディレクトリのパス名を
            /etc/ld.so.conf
            ファイルに追加できます。
          
            
            
            
            
            libmysqlclient.so
            があるディレクトリのパス名を
            LD_RUN_PATH
            環境変数に追加します。システムの中には
            LD_LIBRARY_PATH
            を使用しているものもあります。
          
        リンカが見つけられないほかのライブラリがある場合
        -L
        オプションを変更する必要がある場合があります。たとえば、リンカが
        libc が
        /lib
        にあるため見つけられない場合でリンクのコマンドが
        -L/usr/lib
        を指定している場合、-L
        オプションを -L/lib
        に変更するかあるいは -L/lib
        を既存のリンクコマンドに追加します。
      
        DBD::mysql
        から以下のエラーが表示された場合、多分
        gcc (あるいは
        gcc
        でコンパイルされた旧バイナリを使用している)
        を使用していることになります。
      
/usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3'
        -L/usr/lib/gcc-lib/...-lgcc
        をリンクコマンドに
        mysql.so
        ライブラリがビルドされたときに追加します
        (make の出力を
        mysql.so に対し Perl
        のクライアントをコンパイルしたときに確認します)。-L
        オプションはシステム上の
        libgcc.a
        があるディレクトリのパス名を指定します。
      
この問題の別の原因は 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 に DBI をインストールするには
        DBI-xxx の
        Makefile
        および各サブディレクトリを編集する必要があります。以下は
        gcc 2.95.2
        あるいはそれ以降を想定したものです。
      
OLD: NEW: CC = cc CC = gcc CCCDLFLAGS = -KPIC -W1,-Bexport CCCDLFLAGS = -fpic CCDLFLAGS = -wl,-Bexport CCDLFLAGS = LD = ld LD = gcc -G -fpic LDDLFLAGS = -G -L/usr/local/lib LDDLFLAGS = -L/usr/local/lib LDFLAGS = -belf -L/usr/local/lib LDFLAGS = -L/usr/local/lib LD = ld LD = gcc -G -fpic OPTIMISE = -Od OPTIMISE = -O1 OLD: CCCFLAGS = -belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include NEW: CCFLAGS = -U M_XENIX -DPERL_SCO5 -I/usr/local/include
        これらの変更は Perl dynaloader が
        DBI
        モジュールをそれらが
        icc あるいは
        cc
        でコンパイルされた場合はロードしないために必要です。
      
        動的リンク (SCO など)
        をサポートしていないシステムで Perl
        のモジュールを使用する場合、DBI
        および DBD::mysql
        を含む Perl
        の静的バージョンを生成できます。これを可能にするには
        Perl のバージョンをリンクした
        DBI
        コードで生成しそれを現在の Perl
        の先頭にインストールします。次にそれを使用して新たにリンクされた
        DBD コードを持つ Perl
        のバージョンをビルドし、それをインストールします。
      
SCO では、以下の環境変数が設定されている必要があります。
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
または
LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
    /usr/progressive/lib:/usr/skunk/lib
LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
    /usr/progressive/lib:/usr/skunk/lib
MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\
    /usr/skunk/man:
        最初に、DBI
        配布があるディレクトリのこれらのコマンド実行して静的にリンクした
        DBI モジュールを含む
        Perl を作成します。
      
shell>perl Makefile.PL -static -configshell>makeshell>make installshell>make perl
次に新しい Perl をインストールします。make perl の出力がインストールの実施に必要な正確な make コマンドです。SCO では、これは make -f Makefile.aperl inst_perl MAP_TARGET=perl です。
        次に、上記で作成した Perl を使用して
        DBD::mysql
        配布があるディレクトリのこれらのコマンド使用して同様に静的にリンクした
        DBD::mysql を含む別の
        Perl を作成します。
      
shell>perl Makefile.PL -static -configshell>makeshell>make installshell>make perl
最後に、この新しい Perl をインストールします。make perl の出力は上記同様使用するコマンドを表しています。

