gpt4 book ai didi

r - 在Mac中安装ROracle

转载 作者:行者123 更新时间:2023-12-04 08:51:10 25 4
gpt4 key购买 nike

我在Mac OS Sierra上。

我尝试做-Installation of RODBC/ROracle packages on OS X Mavericks,但没有帮助。

这是我所做的:

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

  • 它给了我以下错误:
    * 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’

    有人请帮忙。

    最佳答案

    以下内容对我在运行El Capitan的一些机器上有效,因此也许可以在High Sierra上使用。与其他一些说明不同,这不需要您禁用SIP。

  • 安装Oracle Instant Client Basic,SDK和SQL * Plus软件包。我很确定我没有使用ODBC程序包,尽管如果有的话它也不会妨碍您。
  • 创建或编辑~/.R/Makevars。添加以下内容:
    CC=/usr/bin/clang -rpath /Users/dhananjaygoel/instantclient_12_1
    LDFLAGS=-L/Users/dhananjaygoel/instantclient_12_1
    CC中的-rpath设置和LDFLAGS中的-L链接目录都应该是Instant Client的.dylib文件的位置。如果您已将它们移到另一个位置(我个人更喜欢创建一个/lib子目录并将其放在此处),那么这就是您要指向的位置。
  • 运行安装命令:
    R CMD INSTALL --configure-args='--with-oci-lib=/Users/dhananjaygoel/instantclient_12_1' ROracle_1.3-1.tar.gz--with-oci-lib=指向Instant Client的根目录(与Makevars中的引用不同,据我所知,这不依赖.dylib文件的位置)。
  • 关于r - 在Mac中安装ROracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41313333/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com