【问题标题】:error in dyn.load in Rcpp package in macmac 中 Rcpp 包中的 dyn.load 错误
【发布时间】:2013-12-13 17:31:39
【问题描述】:

我在加载编译对象 Rcpp 编译对象时遇到问题。我正在从源代码编译 RcppSMC 包。我

Error in dyn.load("mylib.so") : 
  unable to load shared object '/Users/avi/softwares/RcppSMC/src/mylib.so': 
  dlopen(/Users/avi/softwares/RcppSMC/src/mylib.so, 6): Symbol not found: __ZNSoD0Ev
  Referenced from: /Users/avi/softwares/RcppSMC/src/mylib.so
  Expected in: flat namespace
 in /Users/avi/softwares/RcppSMC/src/mylib.so 

我正在使用 clang 编译以下版本。我认为存在一些编译问题,因为如果我从 CRAN dyn.load 下载 mac os 二进制文件。

Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0 

clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I../inst/include -I/usr/local/include -I"/Users/avi/Library/R/3.0/library/Rcpp/include"   -fPIC  -g -O3 -pipe -std=c++0x -Wall -pedantic -c blockpfgaussianopt.cpp -o blockpfgaussianopt.o
  .....
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/usr/local/lib -L/usr/local/lib -o mylib.so blockpfgaussianopt.o history.o pflineart.o pfnonlinbs.o smc-exception.o /Users/avi/Library/R/3.0/library/Rcpp/lib/libRcpp.a -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation

安装到 /Users/avi/Library/R/3.0/library/RcppSMC/libs

这是一个奇怪的问题,因为 sourceCpp 正在机器中工作。

【问题讨论】:

    标签: r macos installation clang rcpp


    【解决方案1】:

    如果您尝试从源代码安装链接到 Rcpp 的软件包,您可能还需要从源代码安装 Rcpp

    假设您使用的是 OS X Mavericks,在 StackOverflow 上也有类似的帖子存在类似的问题。

    【讨论】:

    • 谢谢凯文。那是我的愚蠢。我确实读过关于编译 Rcpp 应该从源代码安装。但是忽略了它,认为它是推荐的而不是必要的。从源代码安装时,它绝对可以顺利运行。
    • 没问题。由于旧的(和 CRAN 使用的)编译器和新的 clang 编译器之间的 ABI 兼容性,它最近才成为 Mac OSX Mavericks 用户的必需品。希望 R 3.1.0 能够解决问题。
    【解决方案2】:

    我的一位同事遇到了同样的问题。

    我们尝试了在互联网上找到的所有可能的解决方案。

    我们最终得出结论,是新版本的 Mac (Mojave) 导致了这些类型的问题。

    他降级到 Sierra 并重新安装了所有内容。 这解决了他的问题。

    【讨论】:

    • 我遇到了同样的问题,而您的解决方案正是我最终为使其正常工作而采取的措施。感谢您发帖,因为我最初认为有一个我没有发现的特定 MacOS 版本的解决方法。
    • 可能有一些解决方法,但我们没有找到:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多