[R] What are the necessary Oracle software to install and run ROracle ?

Marc Schwartz marc_schwartz at me.com
Wed Jan 5 14:31:09 CET 2011


On Jan 5, 2011, at 2:55 AM, thomas.carrie at bnpparibas.com wrote:

> Hello,
> 
> I am running Linux, I have downloaded
> 
> instantclient-basiclite-linux32-11.2.0.2.0.zip
> instantclient-sqlplus-linux32-11.2.0.2.0.zip
> instantclient-sdk-linux32-11.2.0.2.0.zip
> instantclient-precomp-linux32-11.2.0.2.0.zip
> 
> All these tarballs are unzipped in /usr/local/lib/instantclient, I have 
> added this path in the library path of the host.
> 
> I can run sqlplus and proc, they do not complain about missing symbol.
> 
> Then I install ROracle : install.packages("ROracle")
> 
> Compilation step is OK
> But when the test step tries to load the ROracle.so library, it fails :
> 
> ** testing if installed package can be loaded    
> Error in dyn.load(file, DLLpath = DLLpath, ...) :    
>  unable to load shared library 
> '/opt/R-2.11.1/lib/R/library/ROracle/libs/ROracle.so':   
>  /opt/R-2.11.1/lib/R/library/ROracle/libs/ROracle.so: undefined symbol: 
> sqlprc 
> 
> Here is my list of lib in instantclient directory : 
> $ find -name "*.*o" -o -name "*.a"
> ./libsqlplusic.so
> ./sdk/demo/procobdemo.pco
> ./cobsqlintf.o
> ./libociicus.so
> ./libnnz11.so
> ./libocijdbc11.so
> ./libsqlplus.so
> 
> Do I need so more lib ? From which Oracle tarball ?
> 
> Thanks for help


If you have not, read through the INSTALL file for the package:

  http://cran.r-project.org/web/packages/ROracle/INSTALL

Past postings with similar issues regarding the inability to load shared libs would suggest that compiling and installing the package outside of R from the CLI using 'R CMD INSTALL ...' rather than from within R using install.packages("ROracle"), may resolve the issue.  Also, be sure you are running all of this as root, since installation to default locations will require root privileges.

Two more things to consider:

1. R 2.12.1 is the current version of R. If you can, I would recommend updating from 2.11.1.

2. Be sure that you don't have a conflict between 32 and 64 bit versions of R and the Oracle tool chain. All components need to be one or the other. You seem to be using 32 bit versions of the Oracle components above. Check:

  .Machine$sizeof.pointer

in R to see if you are running 32 or 64 bit R. If the former, the above will return 4, if the latter, 8.


Another alternative would be to consider using Prof. Ripley's RODBC package and connecting to Oracle via ODBC.


If you need further assistance, I would suggest subscribing and posting to r-sig-db or contacting the package author directly. More info on the list is here:

  https://stat.ethz.ch/mailman/listinfo/r-sig-db

HTH,

Marc Schwartz



More information about the R-help mailing list