Languages and Scripting
Showing results for 
Search instead for 
Do you mean 

Can't locate loadable object for module DBD::Oracle

Occasional Contributor

Can't locate loadable object for module DBD::Oracle


OS is 11iv3, perl is 32bit. I extract 32bit Instantclient(from Oracle) to /opt/perl/instantclient_11_2.
Then install DBD::Oracle as follow.

root> export ORACLE_HOME=/opt/perl/instantclient_11_2
root> export SHLIB_PATH=$ORACLE_HOME
root> perl Makefile.PL
root> make
root> make test
root> make install
root> perl -e 'use DBD::Oracle;'

So it work fine with user root.  Login as a user

user> export ORACLE_HOME=/opt/perl/instantclient_11_2
user> export SHLIB_PATH=$ORACLE_HOME
user> perl -e 'use DBD::Oracle;'
Can't locate loadable object for module DBD::Oracle in @INC (@INC contains: /opt/perl_32/lib/5.8.8
/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/5.8.8 /opt/perl_32/lib/site_perl/5.8.8/IA64.ARCHREV_
0-thread-multi /opt/perl_32/lib/site_perl/5.8.8 /opt/perl_32/lib/site_perl /opt/perl_32/lib/vendor
_perl/5.8.8/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/vendor_perl/5.8.8 /opt/perl_32/lib/vendor
_perl .) at -e line 1
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.


What could be the cause? Thank you

Victor

5 REPLIES
Acclaimed Contributor [Founder]

Re: Can't locate loadable object for module DBD::Oracle

>So it work fine with user root.  Login as a user

>Can't locate loadable object for module DBD::Oracle in @INC (@INC contains: ...

 

Is there a permission problem with one of these paths?

Occasional Contributor

Re: Can't locate loadable object for module DBD::Oracle

Other users do have rx permission on all of them.

 

Victor

Acclaimed Contributor [Founder]

Re: Can't locate loadable object for module DBD::Oracle

>Other users do have rx permission on all of them.

 

On all directory paths to those shlibs?

If they are all fine, you'll probably need to use tusc to see where it first goes wrong.

Occasional Contributor

Re: Can't locate loadable object for module DBD::Oracle

Fixed.

 

User did not have access to
 /opt/perl_32/lib/site_perl/5.8.8/IA64.ARCHREV_0-thread-multi/auto/DBD/Oracle.
  By changing its permission, now user can use DBD::Oracle.

 

Thanks

Victor

Highlighted
Acclaimed Contributor [Founder]

Re: Can't locate loadable object for module DBD::Oracle

>Fixed.  User did not have access to

 

If the answers solved your problem, please click on the Kudos stars.