2016-10-30 105 views
1

后,我与畅达无法使用RCPP畅达安装

conda install -c r r-essentials 

安装[R现在我不能使用Rcpp库,即便如此,它安装有r-essentials。我得到以下错误:

# using library inline to compile a C++ code on the fly 
library(inline) 
library(Rcpp) 
src <- ' 
    std::vector<std::string> s; 
    s.push_back("hello"); 
    s.push_back("world"); 
    return Rcpp::wrap(s); 
' 
hellofun <- cxxfunction(body = src, includes = '', plugin = 'Rcpp', verbose = FALSE) 
cat(hellofun(), '\n') 


Error in dyn.load(libLFile): unable to load shared object '/tmp/Rtmp5N7UzX/file3a485578682c.so': 
    /tmp/Rtmp5N7UzX/file3a485578682c.so: undefined symbol: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_ 
Traceback: 

1. cxxfunction(body = src, includes = "", plugin = "Rcpp", verbose = FALSE) 
2. dyn.load(libLFile) 

我认为,这也影响不包括在畅达像rstan,其安装失败,类似的错误模块的编译。

+0

你可以试试看:'Rcpp :: evalCpp(“2 + 2”)'? – coatless

+0

这给出了同样的错误。 – Jarno

+13

请大声和清楚地向Continuum投诉,以破坏可靠和正在运行的R设置。但是,它的价值在于:我们(如R社区,特别是Rcpp团队)支持CRAN的安装。剩下的事情,你可以自己做,也许在Continuum的帮助下。 –

回答

1

我知道这是一个旧的线程,但更新我在Github上收到的响应。

我遇到了不同的包安装(在我的情况下,它是BCP)相同的错误。根据提供的解决方案/解决办法heredyn.load()中的错误不再出现。因此,可能值得尝试使用conda update r-essentials来更新R版本。

+0

我在安装phangorn软件包时遇到了问题,该软件包依赖于Rcpp。读完链接后,我只是'conda安装gcc',然后编译成功,所以 - 非常感谢! :) – jena