I have a situation where the default location for Oracle ($ORACLE_HOME)
is pointing to a complete Oracle-10g database environment. That setting
includes $LD_LIBRARY_PATH (and on HP-UX $SHLIB_PATH)
That environment is used for 3gl, 4gl and perl
So far so good.
Oracle's 10g libraries cause a crash when used in perl scripting when
DBD::Oracle is used in the same script as Net::SSLeay (OpenSSL-1.0.1g)
If I install Oracle Instant Client 12.1 (/pro/oracle/ic121) alongside
Enterprise 10g (/pro/oracle/v102) and set ORACLE_HOME related environ
to /pro/oracle/ic121 et all, DBD::Oracle-1.70 works, even with OpenSSL
When I however work in the default 10g environment, DBD::Oracle cannot
connect, as the LD_LIBRARY_PATH eventually loads libons.so from 10g
Oracle decided to make *most* libraries have version numbers in the
names, but did not do that for libons.so (libnnz12.so is obviously a
different lib than libnnz10.so)
I so far found no workaround in this deadlock, as I have only .so files
and no .a files, so I cannot include the .so's in the generated build
for Oracle.so
What I now would like to do, is to change LD_LIBRARY_PATH and
SHLIB_PATH *just before* the Oracle.so starts loading. That way, I can
just put the shared libs that belong to DBD::Oracle next to Oracle.so
if I change Oracle.pm to start with
--8<---
BEGIN {
use Config;
(my $loc = $INC{"DBD/Oracle.pm"}) =~
s{/DBD/Oracle.pm$}{/$Config{archname}/auto/DBD/Oracle};
$ENV{LD_LIBRARY_PATH} = "$oloc:$ENV{LD_LIBRARY_PATH}";
$ENV{SHLIB_PATH} = "$oloc:$ENV{SHLIB_PATH}";
}
-->8---
I am still too late :( :(
I found no commands on HP-UX that alter the embedded library path of
existing libraries (then I could change that in a copy to the location
of installation on installation and disable the use of LD_LIBRARY_PATH
and SHLIB_PATH for those)
Has anybody else encountered problems like this?
Any workarounds?
--
H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/
using perl5.00307 .. 5.19 porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/