Инструкции по установке R Shiny Ubuntu 12.04 завершаются ошибкой при установке Rcpp, необходимого для библиотеки R Shiny в R 3.0.2.

Я пытаюсь установить блестящий сервер R на моем локальном компьютере с Ubuntu 12.04 и следовал инструкциям здесь https://github.com/rstudio/shiny-server/wiki/Ubuntu-step-by-step.-install-instructions:

При попытке сделать:

install.packages('shiny', repos='http://cran.rstudio.com/')

Он проходит через зависимости, но не может установить Rcpp. Смотрите журнал ошибок ниже:

* installing *source* package 'Rcpp' ...
* package 'Rcpp' successfully unpacked and MD5 sums checked
* libs
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c Date.cpp -o Date.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c Module.cpp -o Module.o
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c Rcpp_init.c -o Rcpp_init.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c Timer.cpp -o Timer.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c api.cpp -o api.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c attributes.cpp -o attributes.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c barrier.cpp -o barrier.o
g++ -I/usr/share/R/include -DNDEBUG -I../inst/include/     -fpic  -O3 -pipe  -g  -c exceptions.cpp -o exceptions.o
g++ -shared -o Rcpp.so Date.o Module.o Rcpp_init.o Timer.o api.o attributes.o barrier.o exceptions.o -L/usr/lib/R/lib -lR
g++ -o libRcpp.so Date.o Module.o Rcpp_init.o Timer.o api.o attributes.o barrier.o exceptions.o -shared   -L/usr/lib/R/lib -lR
ar qc libRcpp.a Date.o Module.o Rcpp_init.o Timer.o api.o attributes.o barrier.o exceptions.o
cp libRcpp.so ../inst/lib
cp libRcpp.a ../inst/lib
rm libRcpp.so libRcpp.a
installing to /usr/local/lib/R/site-library/Rcpp/libs
* R
* inst
* preparing package for lazy loading
Error : package 'codetools' was built before R 3.0.0: please re-install it
Error : unable to load R code in package 'Rcpp'
ERROR: lazy loading failed for package 'Rcpp'
* removing '/usr/local/lib/R/site-library/Rcpp'
* installing *source* package 'httpuv' ...
* package 'httpuv' successfully unpacked and MD5 sums checked
* libs
g++ -I/usr/share/R/include -DNDEBUG -I./libuv/include -I./http-parser -I./sha1 -I./base64  -I"/usr/lib/R/site-library/Rcpp/include"   -fpic  -O3 -pipe  -g  -c RcppExports.cpp -o RcppExports.o
RcppExports.cpp:75:10: error: 'uint32_t' was not declared in this scope
RcppExports.cpp: In function 'SEXPREC* httpuv_run(SEXP)':
RcppExports.cpp:79:5: error: 'uint32_t' was not declared in this scope
RcppExports.cpp:79:14: error: expected ';' before 'timeoutMillis'
RcppExports.cpp:80:25: error: 'timeoutMillis' was not declared in this scope
RcppExports.cpp:80:38: error: 'run' cannot be used as a function
make: * [RcppExports.o] Error 1
ERROR: compilation failed for package 'httpuv'
* removing '/usr/local/lib/R/site-library/httpuv'
ERROR: dependency 'httpuv' is not available for package 'shiny'
* removing '/usr/local/lib/R/site-library/shiny'

ОТРЕДАКТИРОВАНО:

Загрузка и установка Rcpp вручную дает мне:

sudo R CMD INSTALL Rcpp_0.10.6.tar.gz

Error : package 'codetools' was built before R 3.0.0: please re-install it

Поэтому я вручную загрузил и установил codetools и снова попробовал Rcpp:

sudo R CMD INSTALL codetools_0.2-8.tar.gz
sudo R CMD INSTALL Rcpp_0.10.6.tar.gz

Затем снова следовал инструкциям с веб-страницы Shiny из «Установить R» и «Установить блестящий» и получил аналогичную ошибку, но теперь с caTools, bitops и xtable, поэтому я выполнил ручную установку каждого из них. Блеск был установлен правильно.

Затем последовали следующие шаги в инструкции.

Любые идеи, почему я получил эту ошибку «был построен до R 3.0.0»?


person 719016    schedule 08.01.2014    source источник
comment
Прежде чем не удастся установить Rcpp, есть строка: Error : package 'codetools' was built before R 3.0.0: please re-install it. Попробуйте запустить update.packages("codetools"), а затем установить Shiny   -  person Scott Ritchie    schedule 08.01.2014
comment
Как переустановить пакеты? update.packages(codetools) этого не делает: > update.packages("codetools") > library(codetools) Error: package ‘codetools’ was built before R 3.0.0: please re-install it > update.packages("codetools")   -  person 719016    schedule 08.01.2014
comment
Надеюсь, вы заметили перенаправление в верхней части упомянутой вами страницы. Эта страница устарела; новые инструкции находятся здесь: rstudio.com/shiny/server/install-opensource   -  person Jeff Allen    schedule 08.01.2014


Ответы (2)


Ubuntu 12.04 — это версия до R 3.0.0. Вы должны решить, хотите ли вы его долгосрочную поддержку и стабильность «как есть» или вам нужно более новое программное обеспечение.

Вы можете смешивать и сочетать. Прочтите README CRAN Ubuntu, измените apt настройки и наслаждайтесь обновленными r-cran-* пакетами. Затем вы можете установить shiny и его зависимости.

person Dirk Eddelbuettel    schedule 08.01.2014
comment
Я так понимаю, что инструкция по установке на сайте Shiny неверна? Они указывают на свои собственные серверы Rstudio: install.packages('shiny', repos='http://cran.rstudio.com/') - person 719016; 08.01.2014
comment
Вы можете неправильно понять. Это является зеркалом CRAN, но размещается на RStudio. URL-адрес, который я разместил, также указывает туда. Не все больше используют 12.04 - я не уверен, что их инструкции отражают это. Прочтите README, который я просил вас прочитать. Найдите в StackOverflow похожие вопросы. Это все было задано ранее. - person Dirk Eddelbuettel; 08.01.2014

Загрузка и установка Rcpp вручную дает мне:

sudo R CMD INSTALL Rcpp_0.10.6.tar.gz

Ошибка: пакет 'codetools' был собран до R 3.0.0: переустановите его. Поэтому я вручную загрузил и установил codetools и повторно попробовал Rcpp:

sudo R CMD INSTALL codetools_0.2-8.tar.gz
sudo R CMD INSTALL Rcpp_0.10.6.tar.gz

Затем снова следовал инструкциям с веб-страницы Shiny из «Установить R» и «Установить блестящий» и получил аналогичную ошибку, но теперь с caTools, bitops и xtable, поэтому я выполнил ручную установку каждого из них. Блеск был установлен правильно.

Затем последовали следующие шаги в инструкции. Все пошло хорошо оттуда. Не уверен, почему я получаю эти was built before 3.0.0 ошибки.

person 719016    schedule 08.01.2014
comment
Вы путаете пакеты, устанавливаемые с помощью инструментов пакетов Ubuntu (apt-get, synaptic, ...), и пакеты, устанавливаемые с помощью R. Мой ответ дал вам способ получить их в виде предварительно созданных двоичных файлов. - person Dirk Eddelbuettel; 08.01.2014