在 Ubuntu 18.04 & 上安装 tidyr 时出错R 4.0.2 [英] Error installing tidyr on Ubuntu 18.04 & R 4.0.2

查看:52
本文介绍了在 Ubuntu 18.04 & 上安装 tidyr 时出错R 4.0.2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试安装包 tidyverse 时,我在安装依赖项 tidyr 时出错.

这是我收到的消息的尾部:

cpp11.cpp:31:100: 错误:‘unmove’不是‘cpp11’的成员return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp(fillLeft))));^~~~~~~cpp11.cpp:31:138: 错误:unmove"不是cpp11"的成员return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp(fillLeft))));^~~~~~~/usr/lib/R/etc/Makeconf:176: 目标cpp11.o"的配方失败制作:*** [cpp11.o] 错误 1错误:包‘tidyr’编译失败* 删除‘/home/xxx/yyy/tidyr’install.packages 中的警告:安装包‘tidyr’的退出状态非零

在我幼稚的眼中,问题似乎出在 cpp11 上.由于 cpp11 编译错误,我看到了一个关于 tidyr 安装错误的类似问题(R tidyr 包安装失败,因为 cpp11 编译错误(扩展模式 x 不包含参数包)),但它适用于 RHEL 系统.

我的系统上安装了最新版本的 gcc/c++ (4:7.4.0-1ubuntu2.3).最新版本的系统依赖libcurl4-openssl-dev libssl-dev libxml2-dev也已安装.

这是sessionInfo()的输出:

R 版本 4.0.2 (2020-06-22)平台:x86_64-pc-linux-gnu(64 位)运行于:Ubuntu 18.04.5 LTS矩阵产品:默认BLAS:/usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1LAPACK:/usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1语言环境:[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C附带的基础包:[1] stats graphics grDevices utils datasets 方法基础通过命名空间加载(而不是附加):[1] rstudioapi_0.11 magrittr_1.5 usethis_1.6.1 devtools_2.3.1 pkgload_1.1.0 R6_2.4.1 rlang_0.4.7 fansi_0.4.1 tools_4.0.2[10] pkgbuild_1.1.0 sessioninfo_1.1.1 cli_2.0.2 withr_2.2.0 ellipsis_0.3.1 remotes_2.2.0 assertthat_0.2.1 digest_0.6.25 rprojroot_1.3-2[19] crayon_1.3.4 processx_3.4.3 callr_3.4.3 fs_1.5.0 ps_1.3.3 curl_4.3 testthat_2.3.2 memoise_1.1.0glue_1.4.1[28] compiler_4.0.2 desc_1.2.0 backports_1.1.8 prettyunits_1.1.1

解决方案

看起来以下提交正在解决这个问题,但不确定何时将其推送到 CRAN:https://github.com/r-lib/cpp11/commit/779669a4d0b093824e9f93824d0b07f9f9f9f9f94e

In trying to install the package tidyverse, I get errors in the installation of dependency tidyr.

Here is the tail of the message I get:

cpp11.cpp:31:100: error: ‘unmove’ is not a member of ‘cpp11’
     return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp<bool>(fillLeft))));
                                                                                                    ^~~~~~
cpp11.cpp:31:138: error: ‘unmove’ is not a member of ‘cpp11’
     return cpp11::as_sexp(simplifyPieces(cpp11::unmove(cpp11::as_cpp<cpp11::list>(pieces)), cpp11::unmove(cpp11::as_cpp<int>(p)), cpp11::unmove(cpp11::as_cpp<bool>(fillLeft))));
                                                                                                                                          ^~~~~~
/usr/lib/R/etc/Makeconf:176: recipe for target 'cpp11.o' failed
make: *** [cpp11.o] Error 1
ERROR: compilation failed for package ‘tidyr’
* removing ‘/home/xxx/yyy/tidyr’
Warning in install.packages :
  installation of package ‘tidyr’ had non-zero exit status

To my naive eye, it would seem the issue lies with cpp11. I saw a similar question regarding tidyr installation error due to cpp11 compilation error (R tidyr package installation failed due to cpp11 compilation error (expansion pattern x contains no argument packs)), but it was for a RHEL system.

I have the latest version of gcc/c++ installed on my system (4:7.4.0-1ubuntu2.3). The latest version of system dependencies libcurl4-openssl-dev libssl-dev libxml2-dev are also installed.

Here is the output of sessionInfo():

R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8     LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8   
 [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] rstudioapi_0.11   magrittr_1.5      usethis_1.6.1     devtools_2.3.1    pkgload_1.1.0     R6_2.4.1          rlang_0.4.7       fansi_0.4.1       tools_4.0.2      
[10] pkgbuild_1.1.0    sessioninfo_1.1.1 cli_2.0.2         withr_2.2.0       ellipsis_0.3.1    remotes_2.2.0     assertthat_0.2.1  digest_0.6.25     rprojroot_1.3-2  
[19] crayon_1.3.4      processx_3.4.3    callr_3.4.3       fs_1.5.0          ps_1.3.3          curl_4.3          testthat_2.3.2    memoise_1.1.0     glue_1.4.1       
[28] compiler_4.0.2    desc_1.2.0        backports_1.1.8   prettyunits_1.1.1

解决方案

Looks like the following commit is addressing this, though not sure when it will be pushed to CRAN: https://github.com/r-lib/cpp11/commit/779669a4d0b07e9f9d9382114f44e4f6ff68eebb

这篇关于在 Ubuntu 18.04 &amp; 上安装 tidyr 时出错R 4.0.2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆