我已经安装了 Oracle Instant Client 12.1.0.2.0,现在正在尝试使用以下命令为 R 安装 ROracle 1.3-1:
R CMD INSTALL --configure-args='--with-oci-lib=/usr/local/oracle/instantclient12 --with-oci-inc=/usr/local/oracle/instantclient12/sdk/include' ROracle_1.3-1.tar.gz
Oracle Instant Client 安装在 /usr/local/oracle/instantclient12
不幸的是,我在 ROracle 安装结束时遇到了以下错误,并且很难弄清楚出了什么问题:
** testing if installed package can be loaded
Error: package or namespace load failed for ‘ROracle’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/ROracle/libs/ROracle.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/ROracle/libs/ROracle.so, 6): Library not loaded: @rpath/libclntsh.dylib.12.1
Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/ROracle/libs/ROracle.so
Reason: image not found
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/ROracle’
无论出于何种原因,无法找到 @rpath/libclntsh.dylib.12.1 并阻止 ROracle 完全安装。我尝试在 ~/lib 和 /usr/lib 中放置指向 libclntsh.dylib.12.1 的链接,但两个链接都不起作用。我还尝试使用环境变量 DYLD_FALLBACK_LIBRARY_PATH 和 DYLD_LIBRARY_PATH 指向包含 libclntsh.dylib.12.1 的目录,但这些都没有正常工作。
我正在使用 MacOS High Sierra (10.13) 和 R 3.4.2。