|
Posted by Ben Morrow on June 19, 2008, 5:39 pm
Please log in for more thread options
> 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/
> localperl5.10/lib/site_perl/5.10.0/i686-linux-64int/auto/DBD/mysql/
> 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?
No, sorry.
> When I did a ldd on mysql.so, I got:
>
> ldd /auto/DBD/mysql/mysql.so
<snipĀ»
>
> Does this mean I have to copy all these files over from BOX A to BOX B
> to work.
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.
> Is there an easier way, thanks in advance.
Easier would be to install perl, DBI and DBD::mysql on box B through
your OS's package system.
Ben
--
We do not stop playing because we grow old;
we grow old because we stop playing.
ben@morrow.me.uk
|