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 :-)
At first, it wasn't working because the SetEnv variable was not set in the virtual host conf files, just in the main httpd.conf . Then I didn't check closely enough when the person doing the work said he'd copied those to the conf where the virtual host definitions were set. Working system httpd.conf: grep LD_LIB /etc/httpd/conf/httpd.conf SetEnv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib Broken system httpd.conf: grep LD_LIB /etc/httpd/conf/httpd.conf #SetEnv LD_LIBRARY_PATH /usr/lib/oracle/12.1/client64/lib Broken system ssl.conf: grep LD_LIB /etc/httpd/conf.d/ssl.conf SetEnv LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib SetEnv LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib Oops. Thanks for your help and suggestions, and Carl, who was right all along! On Oct 20, 2013, at 5:53 AM, lesleyb <lesl...@herlug.org.uk> wrote: > Hi Bruce > > On Fri, Oct 18, 2013 at 07:56:52PM +0000, Bruce Johnson wrote: >> First thing I checked, and they're set correctly; >> >>> From %ENV on the broken system: >> >> >> ORACLE_HOME --> /usr/lib/oracle/12.1/client64 >> LD_LIBRARY_PATH --> /usr/lib/oracle/12.1/client64/lib >> > but the original error is > Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' > The error under the web server environment is saying Oracle.so is not in > /usr/local/lib64/perl5/auto/DBD/Oracle which is where it is looking for it. > > I'm assuming Oracle.so is installed on your system somewhere because the > script > works on the command line but not from within Apache. > > Perhaps check and compare the %ENV in Apache with the command-line %ENV? And > note Apache is looking for the /usr/local/lib64 directory - not anything in > /usr/lib or /usr/lib64. > > Kind regards > > Lesley >> >> This is the only thing I can think of that could cause this error. I've >> compared permissions, etc with a working server and I see nothing wrong. The >> only main difference is that the problem system is running version 12 of the >> Instant Client and the working one is running 11.2, but that would cause the >> program to fail on the command line as well. >> >> On Oct 18, 2013, at 12:30 PM, "Furst, Carl" <carl.fu...@mlb.com> >> wrote: >> >>> Ld_library_path is getting set in apache configs or wrapper scripts? >>> >>> Have you tried setting >>> SetEnv LD_LIBRARY_PATH >>> >>> In httpd.conf? >>> >>> Or have it set when you call apachectl?? >>> >>> >>> >>> Carl Furst >>> >>> >>> >>> >>> On 10/18/13 3:10 PM, "Bruce Johnson" <john...@pharmacy.arizona.edu> wrote: >>> >>>> I'm getting the following error on a newly set-up server: >>>> >>>> [Fri Oct 18 12:02:06 2013] [error] install_driver(Oracle) failed: Can't >>>> load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module >>>> DBD::Oracle: libocci.so.12.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/webfiles/apply/perl/oratest.pl line 7\n >>>> >>>> >>>> It's a really simple script that just connects to the database: >>>> >>>> #!/usr/bin/perl >>>> use DBI; >>>> use strict; >>>> my $login="xxxxxx"; >>>> my $dbpass='xxxxxx'; >>>> my $dbname="host=xxxxx.xxxx.xxxxx.xxxx;sid=xxxxxx"; >>>> my $lda = DBI->connect("dbi:Oracle:$dbname", $login, $dbpass, {RaiseError >>>> =>1}); >>>> print "Content-type: text/html\n\n"; >>>> print "It Works"; >>>> exit; >>>> >>>> >>>> I've confirmed that Apache has the correct LD_LIBRARY_PATH and >>>> ORACLE_HOME vars set yet whenever we run the script on the web server we >>>> get the error. >>>> >>>> On the command line it's: >>>> >>>> [root@xxxx perl]# perl oratest.pl >>>> Content-type: text/html >>>> >>>> It Works >>>> >>>> >>>> Any ideas? >>>> >>>> -- >>>> Bruce Johnson >>>> University of Arizona >>>> College of Pharmacy >>>> Information Technology Group >>>> >>>> Institutions do not have opinions, merely customs >>>> >>>> >>> >>> >>> >>> >>> >>> >>> ********************************************************** >>> >>> MLB.com: Where Baseball is Always On >> >> -- >> Bruce Johnson >> University of Arizona >> College of Pharmacy >> Information Technology Group >> >> Institutions do not have opinions, merely customs >> >> -- Bruce Johnson "Wherever you go, there you are." B. Banzai, PhD