1

我正在尝试在我的本地 Ubuntu 12.04 机器上安装 R 闪亮服务器,我按照这里的说明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

然后再次按照“Install R”和“Install shiny”的 Shiny 网页上的说明进行操作,得到了类似的错误,但现在出现了caTools,bitopsxtable,所以我手动安装了它们。闪亮的安装正确。

然后按照说明中的后续步骤进行操作。

任何想法为什么我得到这个“在 R 3.0.0 之前构建”错误?

4

2 回答 2

1

Ubuntu 12.04 是 R 3.0.0 之前的版本。您必须决定是否需要“原样”的长期支持和稳定性,或者是否需要更新的软件。

你可以混合搭配。阅读CRAN Ubuntu 自述文件,调整您的apt设置并享受更新的r-cran-*软件包。有了这些,您就可以安装shiny它及其依赖项。

于 2014-01-08T13:15:19.400 回答
0

手动下载和安装 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

然后再次按照来自“Install R”和“Install shiny”的 Shiny 网页的说明进行操作,得到了类似的错误,但现在使用 caTools、bitops 和 xtable,所以我手动安装了它们。闪亮的安装正确。

然后按照说明中的后续步骤进行操作。从那里一切顺利。不知道为什么我会收到这些was built before 3.0.0错误。

于 2014-01-08T14:03:47.870 回答