2016-09-20 2 views
1

Setup (Я использую анаконды распределенную R):анаконда R - Rcpp ошибка

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609 
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair" 
Rcpp -- 0.12.5 

Минимальный пример:

library(Rcpp) 
evalCpp("1+1") 

Ошибка:

Error in dyn.load("/tmp/RtmpGI3wKi/sourcecpp_6c2722bad7ef/sourceCpp_1.so") : 
    unable to load shared object '/tmp/RtmpGI3wKi/sourcecpp_6c2722bad7ef/sourceCpp_1.so': 
    /tmp/RtmpGI3wKi/sourcecpp_6c2722bad7ef/sourceCpp_1.so: undefined symbol: _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv 

Я видел очень похожая ошибка на anaconda google groups, а также here на stackoverflow, но нет подсказок для исправления.

ответ

0

Вам нужно поговорить с хорошими людьми, которые дали вам Анаконду. В Debian и Ubuntu, все «просто работает» как надо - и можно ожидать, учитывая, что часть разработчиков использует эту платформу:

На (один из) моей рабочей станции (s) под управлением Ubuntu 16.04:

R> library(Rcpp) 
R> evalCpp("1+2") 
[1] 3 
R> 

Ditto в недавно запущенные Rocker r-base контейнера (бег тестирования Debian и вытягивать в Rcpp через apt-get):

$ docker run --rm -ti r-base /bin/bash 
[email protected]:/# apt-get update 
Get:2 http://security.debian.org testing/updates InRelease [68.2 kB]          
Get:1 http://debian.cs.binghamton.edu/debian sid InRelease [209 kB]           
Get:3 http://debian.cs.binghamton.edu/debian testing InRelease [251 kB]    
Get:4 http://debian.cs.binghamton.edu/debian testing-updates InRelease [124 kB] 
Get:5 http://debian.cs.binghamton.edu/debian sid/main amd64 Packages [9,671 kB] 
Get:6 http://debian.cs.binghamton.edu/debian testing/main amd64 Packages [10.4 MB] 
Fetched 20.7 MB in 4s (4,476 kB/s)       
Reading package lists... Done 
[email protected]:/# apt-get install r-cran-rcpp 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
The following additional packages will be installed: 
    r-cran-pkgkitten 
Suggested packages: 
    r-cran-inline 
The following NEW packages will be installed: 
    r-cran-pkgkitten r-cran-rcpp 
0 upgraded, 2 newly installed, 0 to remove and 102 not upgraded. 
Need to get 2,187 kB of archives. 
After this operation, 9,187 kB of additional disk space will be used. 
Do you want to continue? [Y/n] 
Get:1 http://debian.cs.binghamton.edu/debian testing/main amd64 r-cran-pkgkitten all 0.1.3-1 [18.3 kB] 
Get:2 http://debian.cs.binghamton.edu/debian testing/main amd64 r-cran-rcpp amd64 0.12.7-1 [2,169 kB] 
Fetched 2,187 kB in 0s (2,324 kB/s)  
debconf: delaying package configuration, since apt-utils is not installed 
Selecting previously unselected package r-cran-pkgkitten. 
(Reading database ... 16975 files and directories currently installed.) 
Preparing to unpack .../r-cran-pkgkitten_0.1.3-1_all.deb ... 
Unpacking r-cran-pkgkitten (0.1.3-1) ... 
Selecting previously unselected package r-cran-rcpp. 
Preparing to unpack .../r-cran-rcpp_0.12.7-1_amd64.deb ... 
Unpacking r-cran-rcpp (0.12.7-1) ... 
Setting up r-cran-pkgkitten (0.1.3-1) ... 
Setting up r-cran-rcpp (0.12.7-1) ... 
[email protected]:/# R 

R version 3.3.1 (2016-06-21) -- "Bug in Your Hair" 
Copyright (C) 2016 The R Foundation for Statistical Computing 
Platform: x86_64-pc-linux-gnu (64-bit) 

R is free software and comes with ABSOLUTELY NO WARRANTY. 
You are welcome to redistribute it under certain conditions. 
Type 'license()' or 'licence()' for distribution details. 

    Natural language support but running in an English locale 

R is a collaborative project with many contributors. 
Type 'contributors()' for more information and 
'citation()' on how to cite R or R packages in publications. 

Type 'demo()' for some demos, 'help()' for on-line help, or 
'help.start()' for an HTML browser interface to help. 
Type 'q()' to quit R. 

> library(Rcpp) 
> evalCpp("1+2") 
[1] 3 
> 
+0

Я ожидал, что это будет связанным с Anaconda. Спасибо за ваш ответ. – Radu

+0

Попробуйте установить Rcpp из источника из CRAN. Это должно сработать. (Бинарный файл дистрибутива может быть устаревшим. Используйте это как резерв.) –

+0

Пробовал установку 0.12.7 из источника. Он получает (почти) идентичную ошибку. Похоже, мне придется отказаться от своих надежд на управление R через Анаконду. Еще раз спасибо. – Radu

Смежные вопросы