Hi DBI experts,
Could you please help me to resolve this Perl Oracle DBD problem.
I am using Oracle Client 10g, Perl 5.8.5 (default from RedHat ES4 installation)
and Oracle-DBD-1.18.
The SQLPLUS and Perl cgi program runs and displays output as expected without
any errors from the command line
I have the following error when running perl CGI script using Oracle DBD from
the web browser:
"install_driver(Oracle) failed: Can't load
'/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
for module DBD::Oracle: libclntsh.so.10.1: cannot open shared object file: No
such file or directory at
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm 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 expected"
I searched on google and tried the suggestions from forums but still get the
problem unsolved. These are what I tried:
1. I've added /home/oracle/oracle/product/10.2.0/oraclient/lib to
/etc/ld.so.conf and run "ldconfig" as shown below
[EMAIL PROTECTED] ~]$echo $ORACLE_HOME/lib >> /etc/ld.so.conf => OK
[EMAIL PROTECTED] ~]$/sbin/ldconfig:
/home/oracle/oracle/product/10.2.0/oraclient/lib/libexpat.so.0 is not a
symbolic link
[EMAIL PROTECTED] ~]$ldd
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so
libclntsh.so.10.1 =>
/home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1 (0x00559000)
libdl.so.2 => /lib/libdl.so.2 (0x00111000)
libm.so.6 => /lib/tls/libm.so.6 (0x00115000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00138000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0014a000)
libc.so.6 => /lib/tls/libc.so.6 (0x00218000)
libnnz10.so =>
/home/oracle/oracle/product/10.2.0/oraclient/lib/libnnz10.so (0x083c4000)
/lib/ld-linux.so.2 (0x00542000)
2. I put the following environment variables in the configuration file
httpd.conf:
SetEnv LD_LIBRARY_PATH /home/oracle/oracle/product/10.2.0/oraclient/lib
SetEnv ORACLE_HOME /home/oracle/oracle/product/10.2.0/oraclient
3. I've given authority/access to every folder/object listed in the above paths
to the user I am using.
4. Making sure all files were accesable and also need to make some links from
the $ORACLE_HOME/lib dir to the */lib dir that perl can access.
5. All authority/access and symbolic links for libclntsh.so.10.1, libclntsh.so,
libocci.so.10.1 and libocci.so are set up properly in
/home/oracle/oracle/product/10.2.0/oraclient/lib
lrwxrwxrwx 1 oracle oracle 66 Aug 17 08:25 libclntsh.so ->
/home/oracle/oracle/product/10.2.0/oraclient/lib/libclntsh.so.10.1
-rwxrwxrwx 1 oracle oracle 0 Aug 23 10:34 libclntsh.so.10.1
lrwxrwxrwx 1 oracle oracle 15 Aug 17 08:25 libocci.so ->
libocci.so.10.1
-rwxrwxrwx 1 oracle oracle 0 Aug 23 10:38 libocci.so.10.1
Could you please suggest me what else I should try to resolve this problem? I
searched on google extensively but found no other sources of solutions beside
those listed above.
Thanks,
Keith Lam
Corporate Security (IPC)
Tel: 416-327-1941