2017-10-22 131 views
0

我已经安装了Oracle即时客户端12.1.0.2.0,我现在想安装的R ROracle 1.3-1用下面的命令:ROracle在MacOS高不加载Instantclient库塞拉利昂

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即时客户端安装在/ usr /本地/ 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。

回答

0

到目前为止,我已经找到了解决这个问题的唯一方法是把一个链接libclntsh.dylib.12.1框架中的lib目录为R.在我的电脑将R框架lib目录位于/Library/Frameworks/R.framework/Resources/lib

我的即时客户端安装在/usr/local/oracle/instantclient12

于是我就用下面的命令来使文件链接:

ln -s /usr/local/oracle/instantclient12/libclntsh.dylib.12.1 /Library/Frameworks/R.framework/Resources/lib/libclntsh.dylib.12.1 

这解决了ROracle安装问题,现在我可以加载ROracle R中的库没有问题。

相关问题