Use of LD_RUN_PATH in building DBD::Oracle

[email protected] (Peter Hitchman)
Newsgroups perl.dbi.users
Message-ID <[email protected]>
Hi,
I have been having problems with DBD::Oracle when I tried to use a different
Oracle client version from the database server.
In this case the client is 11.2.0.2.0 and the database is 11.1.0.6.0.

When I set my client to the 11.2 version, the connect to the database failed
with:

"Connection to dB failed due to : ERROR OCIEnvNlsCreate. Check ORACLE_HOME
env var, NLS settings, permissions, etc.."



This is because using LD_RUN_PATH when compiling, causes the dynamic runtime
linker to first look in the ORACLE_HOME

used when Oracle.so was compiled, when executing the code. So the end result
is a mixture of versions of the Oracle libraries being

used, if the the environment is switched to another Oracle version.


So what I found was that if I commented out the LD_RUN_PATH from the
makefile and re-installed the module that I could connect

no matter what client version I used.


From browsing the net, it looks to me that the use of LD_RUN_PATH was added,
but to me its use just stops easily changing Oracle clients.

Does any one have any more information on this, I would like to check that I
am not missing something else fundamental.


Thanks

Pete
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.