Si Perl anuncia que no puede encontrar el módulo
        ../mysql/mysql.so, entonces el problema
        probablemente sea que Perl no ha podido encontrar la biblioteca
        compartida libmysqlclient.so.
      
Esto debería poder solucionarse a través de alguno de los siguientes métodos:
            Compilar la distribución DBD::mysql con
            perl Makefile.PL -static -config en lugar
            de perl Makefile.PL.
          
            Copiar libmysqlclient.so al directorio
            donde se ubican las demás bibliotecas compartidas
            (probablemente, /usr/lib or
            /lib).
          
            Modificar las opciones -L utilizadas para
            compilar DBD::mysql para que reflejen la
            ubicación real de libmysqlclient.so.
          
            En Linux, puede agregarse al fichero
            /etc/ld.so.conf la ruta donde se
            localiza libmysqlclient.so.
          
            Agregar a la variable de entorno
            LD_RUN_PATH el directorio donde se ubica
            libmysqlclient.so. Algunos sistemas
            utilizan LD_LIBRARY_PATH en lugar de
            LD_RUN_PATH.
          
        Hay que notar que si hay otras bibliotecas que el enlazador no
        puede hallar, se necesitarán modificar las opciones
        -L. Por ejemplo, si no se puede hallar
        libc porque está en el directorio
        /lib y el enlazador está especificando
        -L/usr/lib, hay que cambiar la opción
        -L para que sea -L/lib o
        agregar -L/lib al comando de enlazado
        existente.
      
        Si se obtienen los siguientes errores de
        DBD::mysql, probablemente se está utilizando
        gcc (o un binario antiguo compilado con
        gcc):
      
/usr/bin/perl: can't resolve symbol '__moddi3' /usr/bin/perl: can't resolve symbol '__divdi3'
        Agregar -L/usr/lib/gcc-lib/... -lgcc al
        comando de enlazado cuando se compila
        mysql.so (verificar la salida de
        make para mysql.so al
        compilar el cliente Perl). La opción -L
        debería especificar la ruta donde se localiza
        libgcc.a.
      
Otra causa de este problema es que Perl y MySQL no estén compilados (ambos) con gcc. En este caso, se puede resolver la desigualdad compilando a los dos con gcc.
        Al ejecutar las pruebas, puede verse el siguiente error de
        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.
        Esto significa que se necesita incluir la biblioteca de
        compresión -lz en la línea de enlazado.
        Puede hacerse cambiando la siguiente linea en el fichero
        lib/DBD/mysql/Install.pm.
      
        Copiar libmysqlclient.so al directorio
        donde se ubican las otras bibliotecas compartidas
        (probablemente, /usr/lib or
        /lib).
      
        Modificar las opciones -L usadas para
        compilar DBD::mysql para que reflejen la
        ubicación real de libmysqlclient.so.
      
        En Linux, puede agregarse al fichero
        /etc/ld.so.conf la ruta donde se localiza
        libmysqlclient.so.
      
        Agregar a la variable de entorno LD_RUN_PATH
        el directorio donde se ubica
        libmysqlclient.so. Algunos sistemas
        utilizan LD_LIBRARY_PATH en lugar de
        LD_RUN_PATH.
      
        Hay que notar que si hay otras bibliotecas que el enlazador no
        puede hallar, se necesitarán modificar las opciones
        -L. Por ejemplo, si no se puede hallar
        libc:
      
$sysliblist .= " -lm";
Cambiar la línea a:
$sysliblist .= " -lm -lz";
Despues de esto, debe ejecutarse make realclean y proceder con la instalación desde el principio.
        Si se desea isntalar DBI en SCO, se tendrá que editar el
        fichero Makefile en
        DBI-xxx y en cada subdirectorio.
        Notar que lo que sigue asume que se tiene gcc
        2.95.2 o posterior:
      
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
        Estos cambios se necesitan porque el cargador dinámico
        (dynaloader) de Perl no cargará los módulos
        DBI si fueron compilados con
        icc o cc.
      
        Si se desea utilizar el módulo Perl en un sistema que no posee
        soporte para enlazado dinámico (como SCO), se deberá generar
        una versión estática de Perl que incluya
        DBI y DBD::mysql. La forma
        en que esto funciona es: se genera una versión de Perl con el
        código DBI enlazado y se la instala por
        encima del Perl actual. Luego se lo utiliza para compilar una
        versión de Perl que adicionalmente tiene incluído el código
        de DBD, y se lo instala.
      
En SCO, se deberán configurar las siguientes variables de entorno:
            LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
          
O bien:
            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:
          
        En primer lugar hay que crear un Perl que incluya un módulo
        DBI enlazado estáticamente mediante la
        ejecución de estos comandos en el directorio donde se ubica la
        distribución de DBI:
      
shell>perl Makefile.PL -static -configshell>makeshell>make installshell>make perl
Luego debe instalarse el nuevo Perl. La salida de make perl indica exactamente el comando make necesario para llevar a cabo la instalación. En SCO, este es make -f Makefile.aperl inst_perl MAP_TARGET=perl.
        A continuación, emplear el recién creado Perl para crear otro
        Perl que tmabién incluya un DBD::mysql
        creado estáticamente, mediante la ejecución de estos comandos
        en el directorio donde se ubica la distribución
        DBD::mysql:
      
shell>perl Makefile.PL -static -configshell>makeshell>make installshell>make perl
Finalmente, se debería instalar este nuevo Perl. De nuevo, la salida de make perl indicará el comando a emplear.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

