thomas.carrie at bnpparibas.com
2011-Jan-05 08:55 UTC
[R] What are the necessary Oracle software to install and run ROracle ?
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 This message and any attachments (the "message") is\ int...{{dropped:31}}
Marc Schwartz
2011-Jan-05 13:31 UTC
[R] What are the necessary Oracle software to install and run ROracle ?
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 helpIf 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