我已经安装了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.gzOracle即时客户端安装在/usr/local/oracle/instantclient12 12中。
不幸的是,我在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高塞拉(10.13)和R 3.4.2。
发布于 2017-10-22 02:18:39
到目前为止,我找到的唯一解决这个问题的方法是将指向libclntsh.dylib.12.1的链接放到R的框架库目录中,在我的计算机上,R框架库目录位于/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安装问题,现在我可以在R中加载ROracle库,而不会出现问题。
https://stackoverflow.com/questions/46869888
复制相似问题