I need help running DBI

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I compied perl and DBI on BOX A; I did  ./Configure prefix=/blah/blah.
I copied over the perl directories to BOX B (don't worry the prefix
install path mimicks perl on BOX B).

Now I can run perl, I tested with a hello world program, I added use
strict, use warnings. Works w/o issues.

Now when I add 'use DBI', I get an error because I have missing lib
files in BOX B (its not  the libmysqlclient libraries are missing).
Below is the error:

install_driver(mysql) failed: Can't load '/c$/perlscripts/
mysql.so' for module DBD::mysql: libssl.so.4: cannot open shared
object file: No such file or directory at /c$/perlscripts/
localperl5.10/lib/5.10.0/i686-linux-64int/DynaLoader.pm line 203.

Its not mysql.so that is causing the problem, its libssl.so.4 that is
missing on BOX B. I can easily copy over that file from another box
(which I did) run it again, and I'll get another missing lib file;
about 5 or 6 of them.

So what is the best course of action to get this resolved. Can I
recompile DBI on BOX A and tell it to point all the neccessary lib
files to a directory in the Perl directory?

When I did a ldd on mysql.so, I got:

ldd  /auto/DBD/mysql/mysql.so
        linux-gate.so.1 =>  (0xffffe000)
        libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15
        libz.so.1 => /lib32/libz.so.1 (0xf7dc8000)
        libcrypt.so.1 => /lib32/libcrypt.so.1 (0xf7d9a000)
        libnsl.so.1 => /lib32/libnsl.so.1 (0xf7d85000)
        libm.so.6 => /lib32/tls/libm.so.6 (0xf7d62000)
        libssl.so.4 => /lib/libssl.so.4 (0xf7d2e000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0xf7c44000)
        libc.so.6 => /lib32/tls/libc.so.6 (0xf7b2a000)
        /lib/ld-linux.so.2 (0x56555000)
        libgssapi_krb5.so.2 => not found
        libkrb5.so.3 => not found
        libcom_err.so.2 => /lib32/libcom_err.so.2 (0xf7b28000)
        libk5crypto.so.3 => not found
        libresolv.so.2 => /lib32/libresolv.so.2 (0xf7b13000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7b0f000)
        libgssapi_krb5.so.2 => not found
        libkrb5.so.3 => not found
        libk5crypto.so.3 => not found

Does this mean I have to copy all these files over from BOX A to BOX B
to work. Is there an easier way, thanks in advance.


Re: I need help running DBI

Quoted text here. Click to load it

No, sorry.

Quoted text here. Click to load it

Yes. Don't attempt to copy any that are already present on box B, and
note that linux-gate.so doesn't actually exist (it's an artefact of the
Linux dynamic loader) so you can't copy that one either.

Quoted text here. Click to load it

Easier would be to install perl, DBI and DBD::mysql on box B through
your OS's package system.


               We do not stop playing because we grow old;
                  we grow old because we stop playing.

Site Timeline