R Rcpp ошибка установки в R 3.1.0

Я хочу установить Rcpp используя install.packages("Rcpp"), но это не удалось. Сообщение об ошибке:

* installing *source* package ‘Rcpp’ ...
** package ‘Rcpp’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c Date.cpp -o Date.o
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c Module.cpp -o Module.o
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c Rcpp_init.cpp -o Rcpp_init.o
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c api.cpp -o api.o
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c attributes.cpp -o attributes.o
g++ -I/usr/local/lib64/R/include -DNDEBUG -I../inst/include/ -I/usr/local/include    -fpic  -g -O2  -c barrier.cpp -o barrier.o
g++ -shared -L/usr/local/lib64 -o Rcpp.so Date.o Module.o Rcpp_init.o api.o attributes.o barrier.o
installing to /home/sethbrin/R/x86_64-redhat-linux-gnu-library/3.1/Rcpp/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object '/home/sethbrin/R/x86_64-redhat-linux-gnu-library/3.1/Rcpp/libs/Rcpp.so':
 /home/sethbrin/R/x86_64-redhat-linux-gnu-library/3.1/Rcpp/libs/Rcpp.so: undefined symbol: _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/sethbrin/R/x86_64-redhat-linux-gnu-library/3.1/Rcpp’

The downloaded source packages are in
‘/tmp/Rtmp6PKB8N/downloaded_packages’
Warning message:
In install.packages("Rcpp") :
installation of package ‘Rcpp’ had non-zero exit status

Тогда я использую

c++fit _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode

std::basic_streambuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)

Я искал некоторые решения для этого. Похоже, это из-за версии gcc. Но я не знаю, как изменить версию gcc, которую использует R для компиляции пакета Rcpp.

2 ответа

CRAN тестирует Rcpp, как и любой другой пакет (на данный момент) 6700+.

Вы можете увидеть сводный отчет о тестировании, и настройки теста включают в себя две машины на базе Fedora:

Таким образом, ваши проблемы могут быть локальными, или просто из-за использования более старой установки. В этом случае раздел Архив предоставляет вам доступ к более старой версии.

Я столкнулся с подобной проблемой. И после некоторых поисков, вот решения для изменения компилятора:

1. Если у вас есть привилегия root:

Я обнаружил, что Makeconf Файл в каталоге R фактически устанавливает всю информацию, которая необходима для компиляции.

Чтобы найти путь к нему, эхо which R в командной строке.

например, я получил как:/data/apps/R/3.1.2/bin/R

И тогда файл находится в:/data/apps/R/3.1.2/lib64/R/etc/Makeconf

затем sudo отредактируйте файл на линии CC = XXX и, возможно, более относительные линии.

Задача решена!

2. Если у вас есть только права локального пользователя.

Добавьте свои собственные конфигурации в ~/.R/Makevars


Тем не менее, @Dirk, вероятно, прав.

Для меня я наконец-то решил свою проблему, добавив -Doff_t=__off_t в CFLAGS (Моя проблема была error: unknown type name 'off_t'). И я получил ошибку остановки, когда я вручную изменил части компиляторов...

Другие вопросы по тегам