2016-10-30 104 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