We are in the process of installing the new ORE 1.5 client packages in a Linux server. Following the documentation, we have successfully installed Oracle DB Instant Client v. 12.1 in the directory /usr/lib/oracle/12.1/client64/lib.
Problem is, ORE fails to load, in fact due to ROracle failure:
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/lib64/R/library/ROracle/libs/ROracle.so':
libclntsh.so.11.1: cannot open shared object file: No such file or directory
Error: package ‘OREdm’ could not be loaded
It's true that the file libclntsh.so.11.1 does not exist, simply because the client installed is 12.1, and not 11.1:
[ctsats@dev-hd-01 ~]$ cd /usr/lib/oracle/12.1/client64/lib
[ctsats@dev-hd-01 lib]$ ll
-rwxrwxr-x 1 root root 6990875 Jul 7 2014 libclntshcore.so.12.1
-rwxrwxr-x 1 root root 58793741 Jul 7 2014 libclntsh.so.12.1
Checking the respective situation in the latest Oracle Big Data Lite VM 18.104.22.168 (which includes ORE 1.5), I saw that there are several soft/symbolic links, eventually all pointing to the 12.1 client:
[oracle@bigdatalite ~]$ cd /u01/app/oracle/product/22.214.171.124/dbhome_1/lib
[oracle@bigdatalite lib]$ ll
|lrwxrwxrwx. 1 oracle oinstall || 21 2015-12-23 21:49 libclntshcore.so -> libclntshcore.so.12.1|
-rwxr-xr-x. 1 oracle oinstall 6994203 2015-12-23 21:49 libclntshcore.so.12.1
|lrwxrwxrwx. 1 oracle oinstall || 17 2015-12-23 21:49 libclntsh.so -> libclntsh.so.12.1|
|lrwxrwxrwx. 1 oracle oinstall || 12 2015-12-23 21:49 libclntsh.so.10.1 -> libclntsh.so|
|lrwxrwxrwx. 1 oracle oinstall || 12 2015-12-23 21:49 libclntsh.so.11.1 -> libclntsh.so|
-rwxr-xr-x. 1 oracle oinstall 59492708 2015-12-23 21:49 libclntsh.so.12.1
Inspired from that, we created a new soft link libclntsh.so.11.1 -> libclntsh.so.12.1, which resolved the issue.
It seems that ROracle, despite being up to date (version 1.2-1), looks only for the 11.1 client...
My question is: is this behavior expected (after all, what we did feels like a workaround)? If no, what have we missed in the installation procedure?
Many thanks in advance