2017-10-22 136 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中的庫沒有問題。

相關問題