reasonablekeith has asked for the wisdom of the Perl Monks concerning the following question:

Hey Monks, your advice please...

I'm trying to install DBI/DBD Oracle on a solaris server running oracle 8.1.7. I don't have full access to this machine, (and wont have without days of paper work) so I'm trying to install the modules in a local directory. DBI is going in fine, but DBD fails on the 'make test' saying...

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib/lib', 'blib/arch')" t/*.t t/01base................Failed to load Oracle extension and/or shared +libraries: install_driver(Oracle) failed: Can't load '/tmp/rja_temp/DBTEST/DBD-Or +acle-1.16/blib/arch/auto/DBD/Oracle/' for module DBD::Oracle +: perl: fatal: open failed: No such file or dir +ectory at /usr/local/lib/perl5/5.8.6/sun4-solaris/ line +230. at (eval 1) line 3 Compilation failed in require at (eval 1) line 3. Perhaps a required shared library or dll isn't installed where expecte +d at t/01base.t line 19 The remaining tests will probably also fail with the same error. ...SNIP
the file is there, but I can't find anywhere on the system. Interestingly (a relative term :P ) I can't find this file on another system which has these modules successfully installed on.

oracle/sql plus stuff works fine under the account I'm installing this modules with. ORACLE_HOME is set okay, I'm setting PERL5LIB to include my module install location and LD_LIBRARY_PATH include the oracle and oracle lib directories.

I've tried DBI 1.46 with DBD 1.16 (because this is what's working on the other system), and I've also tried it with the latest versions of each (1.53/1.19) and get exactly the same error.

I'm really not sure where to go from here, any advice appreciated.

Thanks, Monks.

PS. I'm running the install like this

perl Makefile.PL PREFIX=/tmp/rja_temp/perl_db_lib LIB=/tmp/rja_temp/pe +rl_db_lib make make test make install
my name's not Keith, and I'm not reasonable.

Replies are listed 'Best First'.
Re: DBD::Oracle install complaining about missing file ''
by almut (Canon) on Feb 08, 2007 at 13:06 UTC

    I'm not an expert in DBD::Oracle things, but I think there are essentially two approaches. Either build/install the lib (and don't forget to add its location to LD_LIBRARY_PATH), or figure out what exactly is requiring that lib (ldd -s should tell you), and then see whether it is possible to rebuild / relink / reconfigure /... that other lib in an alternative way, such that it no longer depends on libmm. (Not sure why your other installation isn't depending on it -- maybe it's been linked in statically...).   Good luck.

      You are a superstar! ++

      I downloaded the lastest libmm distribution, managed to make it after searching for a few more items (/usr/local/lib/ not in LD_LIBRARY_PATH).

      that created A quick sym link later and I was in business!

      Many Thanks, Rob

      my name's not Keith, and I'm not reasonable.