Re: How to set LD_LIBRARY_PATH

[email protected] (John Scoles)
Newsgroups perl.dbi.users,perl.beginners
Message-ID <[email protected]>
You will have to set those values before your modules load.

So you should stick them in the BEGIN and that should work

http://www.compuspec.net/reference/language/perl/BEGIN_and_END.shtml

cheers
John Scoles

On Fri, May 28, 2010 at 3:45 AM, newbie01 perl <[email protected]>wrote:

> Hi all,
>
> Can someone advise how to set LD_LIBRARY_PATH from within the Perl scripts?
>
> If I set LD_LIBRARY_PATH from the command line, all is okay
>
> [oracle ~]$ perl -e 'use DBD::Oracle; print $DBD::Oracle::VERSION,"\n";'
> Can't load
>
> '/oracle/product/db/11.1/perl/lib/site_perl/5.8.3/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so'
> for module DBD::Oracle: libclntsh.so.11.1: cannot open shared object file:
> No such file or directory at
> /usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/DynaLoader.pm line 230.
> at -e line 1
> Compilation failed in require at -e line 1.
> BEGIN failed--compilation aborted at -e line 1.
> [oracle ~]$ export LD_LIBRARY_PATH=/oracle/product/db/11.1/lib
> [oracle ~]$ perl -e 'use DBD::Oracle; print $DBD::Oracle::VERSION,"\n";'
> 1.15
>
> But if I do the following instead in the Perl script, it does not work? How
> to set the LD_LIBRARY_PATH then?
>
> $ENV{ORACLE_HOME}=$ORACLE_HOME;
> $ENV{ORACLE_SID}=$ORACLE_SID;
> $ENV{PATH}="$ORACLE_HOME/bin:$PATH";
> $ENV{LD_LIBRARY_PATH}="$ORACLE_HOME/lib";
>
> FYI, the script is to run from a cron which is why am setting
> LD_LIBRARY_PATH in the script.
>
> Any response will be very much appreciated. Thanks in advance.
>

--
Catch Alex & Sheeri at ODTUG/Kaleidoscope - June 27 - July 1. 
Hear Sheeri speak or email [email protected] to meet with Pythian.
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.