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

Reply via email to