我用conda安装了R
conda install -c r r-essentials
现在我无法使用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)
我认为这也会影响未包含在conda中的模块的编译,如rstan
,安装失败并出现类似错误。
答案 0 :(得分:1)
我知道这是一个旧线程,但更新了我在Github上收到的回复。
我在不同的软件包安装方面遇到了同样的错误(在我的情况下是BCP)。根据提供的解决方案/工作here,dyn.load()
中的错误不再出现。因此,尝试使用conda update r-essentials
更新R版本可能是值得的。