首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac中安装ROracle

在Mac中安装ROracle
EN

Stack Overflow用户
提问于 2016-12-24 12:37:42
回答 2查看 1.2K关注 0票数 9

我用的是Mac OS Sierra。

我试过了-- 在OS小艇上安装RODBC/ROracle软件包,但没什么用。

我就是这样做的:

  • http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html下载- Basic,Sql,odbc
  • 在instantclient_12_1中的主文件夹中解压缩
  • ln -s libclntsh.dylib.12.1 libclntsh.dylib
  • 导出DYLD_LIBRARY_PATH=/Users/dhananjaygoel/instantclient_12_1:$DYLD_LIBRARY_PATH
  • 安装--configure-args='--with-oci-lib=/Users/dhananjaygoel/instantclient_12_1‘ROracle_1.3-1.tar.gz

它给出了以下错误:

代码语言:javascript
复制
* installing to library ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library’
* installing *source* package ‘ROracle’ ...
** package ‘ROracle’ successfully unpacked and MD5 sums checked
configure: creating ./config.status
config.status: creating src/Makevars
** libs
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Users/dhananjaygoel/instantclient_12_1/sdk/include -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -I/opt/local/include -c rodbi.c -o rodbi.o
rodbi.c:2432:53: warning: format specifies type 'long long' but the argument has
      type 'sb8' (aka 'long') [-Wformat]
        sprintf(err_buf, RODBI_ERR_BIND_VAL_TOOBIG, bndsz);
                                                    ^~~~~
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
rodbi.c:2469:53: warning: format specifies type 'long long' but the argument has
      type 'sb8' (aka 'long') [-Wformat]
        sprintf(err_buf, RODBI_ERR_BIND_VAL_TOOBIG, bndsz);
                                                    ^~~~~
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
rodbi.c:2816:55: warning: format specifies type 'long long' but the argument has
      type 'sb8' (aka 'long') [-Wformat]
          sprintf(err_buf, RODBI_ERR_BIND_VAL_TOOBIG, bndsz);
                                                      ^~~~~
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
rodbi.c:2861:55: warning: format specifies type 'long long' but the argument has
      type 'sb8' (aka 'long') [-Wformat]
          sprintf(err_buf, RODBI_ERR_BIND_VAL_TOOBIG, bndsz);
                                                      ^~~~~
/usr/include/secure/_stdio.h:47:56: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
                                                       ^~~~~~~~~~~
4 warnings generated.
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Users/dhananjaygoel/instantclient_12_1/sdk/include -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -I/opt/local/include -c rooci.c -o rooci.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o ROracle.so rodbi.o rooci.o -L/Users/dhananjaygoel/instantclient_12_1 -lclntsh -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.3/Resources/library/ROracle/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/ROracle/libs/ROracle.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/ROracle/libs/ROracle.so, 6): Library not loaded: @rpath/libclntsh.dylib.12.1
  Referenced from: /Library/Frameworks/R.framework/Versions/3.3/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.3/Resources/library/ROracle’

谁来帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2018-03-27 16:46:11

下面的内容在一些运行El Capitan的机器上对我起作用,所以它可能会在High上工作。与其他一些指令不同,这不需要禁用SIP。

  1. 安装Oracle Instant Client Basic、SDK和SQL*Plus包。我很确定我没有使用ODBC包,不过如果您有ODBC包,它不应该妨碍您。
  2. 创建或编辑~/.R/Makevars。增加以下内容: CC=/usr/bin/clang -rpath /-rpath/dhananjaygoel/instantclient_12_1 CC中的CC设置和LDFLAGS中的-L链接目录都应该是即时客户端.dylib文件的位置。如果您已经将它们移到了另一个位置(我个人更喜欢创建一个/lib子目录并将它们放在那里),那就是您应该指出的地方。
  3. 运行install命令: R CMD INSTALL --configure-args='--with-oci-lib=/Users/dhananjaygoel/instantclient_12_1' ROracle_1.3-1.tar.gz 使用--with-oci-lib=指向即时客户机的根(与Makevars中的引用不同,据我所知,这并不依赖于.dylib文件的位置)。
票数 3
EN

Stack Overflow用户

发布于 2016-12-24 12:50:58

我发现在搜索。

只要Ctrl+f (或者你在Mac上的选择,我正在使用linux)这个词“图像找不到”,你就会发现这个问题。

该页面将最终引导您到这里

这与您的错误非常相似,但是,我没有使用Mac的经验,希望它能有所帮助:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41313333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档