Hi Bruce On Mon, Oct 21, 2013 at 08:03:07PM +0000, Bruce Johnson wrote: > > On Oct 20, 2013, at 1:03 PM, Bruce Johnson <john...@pharmacy.arizona.edu> > wrote: > > > Oh it turned out to be even simpler than that, and for once it wasn't MY > > fat fingers that fat fingered it this time :-) > > Cue the sad trombone, because I was wrong, again. > <snip> > > We've set a directory to be handled by mod_perl as follows: > > Alias /card_access /home/allwebfiles/perl/catcard > <Directory /home/allwebfiles/perl/catcard> > SetHandler perl-script > PerlResponseHandler ModPerl::Registry > PerlOptions +ParseHeaders > Options +ExecCGI > PerlSetEnv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib > PerlSetEnv ORACLE_HOME /usr/lib/oracle/11.2/client64 > </Directory> > > With those directives in place, I get the error every time. (I've added > ORACLE_SID and TNS_ADMIN to the PerlSetEnv declarations, but it makes no > difference. > > LD_LIBRARY_PATH is set, this is the contents of %ENV and %INC according to > the server, with that mod_perl directive in place: > <snip> > LD_LIBRARY_PATH --> /usr/lib/oracle/11.2/client64/lib <snip> > ORACLE_HOME --> /usr/lib/oracle/11.2/client64 > PATH --> /sbin:/usr/sbin:/bin:/usr/bin <snip> > INC > INC-> /usr/local/lib64/perl5 > INC-> /usr/local/share/perl5 > INC-> /usr/lib64/perl5/vendor_perl > INC-> /usr/share/perl5/vendor_perl > INC-> /usr/lib64/perl5 > INC-> /usr/share/perl5 > INC-> . > INC-> /etc/httpd > > But attempting to create a database handle results in: > > [Mon Oct 21 10:10:37 2013] [error] install_driver(Oracle) failed: Can't load > '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: > libocci.so.11.1: cannot open shared object file: No such file or directory at > /usr/lib64/perl5/DynaLoader.pm line 200.\n at (eval 11) line 3\nCompilation > failed in require at (eval 11) line 3.\nPerhaps a required shared library or > dll isn't installed where expected\n at > /home/allwebfiles/perl/catcard/oratest.pl line 9\n > This error says install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ibocci.so.11.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200. at (eval 11) line 3 Compilation failed in require at (eval 11) line 3 Perhaps a required shared library or dll isn't installed where expected at /home/allwebfiles/perl/catcard/oratest.pl line 9
which means that ibocci.so.11.1 cannot open the shared object (so) file Oracle.so from the directory /usr/local/lib64/perl5/auto/DBD/Oracle, where it is expecting it to be. This means the mod-perl can already find ibocci.so.11.1. ibocci.so.11.1 is being called from DynaLoader,.pm, which is being called at line 9 of /home/allwebfiles/perl/catcard/oratest.pl. So I believe you are still misreading the error message. Have you checked that Oracle.so existrs in the /usr/local/lib64/perl5/auto/DBD/Oracle directory *and* that mod-perl/apache can access this directory, yet? > <snip> > Has anyone run into this before? What, people not interpreting error messages correctly? ;-) Yes. Frequently. ;-) I'm hoping you've cleared the error by now, btw. Kind regards Lesley