0

i want update my instantClient on my Solaris x86 server. After i updated it, i get an error message from DBD.

install_driver(Oracle) failed: Can't load '..../perl/lib/site_perl/5.005/i86pc-solaris/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl: fatal: libclntsh.so.10.1: open failed: No such file or directory at ..../perl/lib/5.00503/i86pc-solaris/DynaLoader.pm line 169.

The new instantClient have libclntsh.so.11.1 but DBD wants the old one.

# ldd Oracle.so
    libclntsh.so.10.1 => not found

Library Path and OracleHome are updated.

Any ideas? thanks for any help =)

Falko
  • 17,076
  • 13
  • 60
  • 105
user3181885
  • 49
  • 2
  • 9
  • install_driver(Oracle) failed: Can't load '..../perl/lib/site_perl/5.005/i86pc-solaris/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: ld.so.1: perl: fatal: libclntsh.so.10.1: open failed: No such file or directory at ..../perl/lib/5.00503/i86pc-solaris/DynaLoader.pm line 169. – user3181885 Jul 02 '14 at 08:18

1 Answers1

0

You have to rebuild DBD::Oracle after upgrading instant client. The newer client has different header files etc and obviously is no version 10.1 anymore. You probably need to set your LD_LIBRARY_PATH or edit your global linker config to tell the dynamic linker where to find the new libs.

bohica
  • 5,932
  • 3
  • 23
  • 28
  • Im new in Solaris...can you tell me how i edit my global linker config to tell the dynamic linker where to find the new libs? thanks – user3181885 Jul 04 '14 at 10:29
  • $env ... ORACLE_HOME=/opt/eRunbook/software/mandatory/instantclient_12_1....but in Oracle.so still libclntsh.so.10.1 – user3181885 Jul 04 '14 at 11:56
  • re your comment 1 - Read your man page for ldd and ld.so and it will tell you all you need to know. I believe there are even commands now to add paths for the linker. re your comment 2 - this why I said you need to rebuild DBD::Oracle because your 10.1 shared object is baked into the Oracle.so dependencies. – bohica Jul 04 '14 at 14:17