【问题标题】:R shiny Ubuntu 12.04 installation instructions fail when installing Rcpp needed by R shiny library in R 3.0.2在 R 3.0.2 中安装 R 闪亮库所需的 Rcpp 时,R 闪亮 Ubuntu 12.04 安装说明失败
【发布时间】:2014-01-26 12:08:58
【问题描述】:

我正在尝试在我的本地 Ubuntu 12.04 机器上安装 R Shiny 服务器,并按照此处的说明进行操作 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

然后再次按照“安装 R”和“安装闪亮”的 Shiny 网页中的说明进行操作,得到了类似的错误,但现在出现了 caToolsbitopsxtable,所以我手动安装了每个其中。闪亮的安装正确。

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

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

【问题讨论】:

  • 在安装失败之前Rcpp有一行:Error : package 'codetools' was built before R 3.0.0: please re-install it。尝试运行update.packages("codetools"),然后安装 Shiny
  • 如何重新安装软件包? 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")
  • 希望您注意到您提到的页面顶部的重定向。该页面已过时;新说明在这里:rstudio.com/shiny/server/install-opensource

标签: r ubuntu-12.04 shiny rcpp shiny-server


【解决方案1】:

Ubuntu 12.04 是 R 3.0.0 之前的版本。您必须决定是想要“按原样”获得长期支持和稳定性,还是想要更新的软件。

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

【讨论】:

  • 所以我认为 Shiny 网站上的安装说明不正确?他们指向自己的 Rstudio 服务器:install.packages('shiny', repos='http://cran.rstudio.com/')
  • 你可能误会了。 CRAN 镜像,但由 RStudio 托管。我发布的 URL 也指向那里。不是每个人都运行 12.04 了——我不确定他们的说明是否反映了这一点。阅读我让你阅读的 README。在 StackOverflow 中搜索相关问题。以前都问过。
【解决方案2】:

手动下载和安装 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 网页中的“Install R”和“Install shiny”中的说明进行操作,得到了类似的错误,但现在使用 caTools、bitops 和 xtable,所以我手动安装了它们。闪亮的安装正确。

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

【讨论】:

  • 您对通过 Ubuntu 软件包工具(apt-getsynaptic、...)安装的软件包和通过 R 安装的软件包感到困惑。我的回答为您提供了一种将这些作为预构建的方法二进制文件。
猜你喜欢
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-23
相关资源
最近更新 更多