Using ROracle with Oracle Instant Client 12c

Christos - Iraklis TsatsoulisOracle R, R Leave a Comment

The other day, while setting up the new Oracle R Enterprise (ORE) 1.5 client packages in a Linux server, we installed the Oracle DB Instant Client v. 12.1, as advised in the relevant documentation.

Problem was, ORE failed to load, in fact due to ROracle failure:

> library(ORE)
Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object '/usr/lib64/R/library/ROracle/libs/': cannot open shared object file: No such file or directory
Error: package ‘OREdm’ could not be loaded

Truth is, the file did not exist, but this was expected, simply due to the installed client being 12.1, and not 11.1:

[ctsats@dev-hd-01 ~]$ cd /usr/lib/oracle/12.1/client64/lib
[ctsats@dev-hd-01 lib]$ ll
total 190276
-rwxrwxr-x 1 root root   6990875 Jul  7  2014
-rwxrwxr-x 1 root root  58793741 Jul  7  2014

What is happening is that ROracle, despite being up to date (version 1.2-1), looks only for the 11.1 client.

The solution is to create a symbolic link in the Oracle Instant Client directory, pointing from the file (which is what ROracle is looking for) to (the existing one):

[ctsats@dev-hd-01 lib]$ ln -s
[ctsats@dev-hd-01 lib]$ ll
total 190276
lrwxrwxrwx 1 root root        17 Feb 16 12:36 ->

after which the issue is resolved.

See also the discussion I opened in the relevant Oracle R Technologies forum.

Christos - Iraklis Tsatsoulis
Latest posts by Christos - Iraklis Tsatsoulis (see all)
Notify of
Inline Feedbacks
View all comments