首页 > 解决方案 > Centos 8、R、EPEL 8、dplyr --> `GLIBCXX_3.4.26' 未找到

问题描述

我在 Centos 8 上,由企业 IT 决定。我已将 EPEL 8 添加到存储库中,并且我已经安装了 R。我正在尝试安装流行的 CRAN 包 dplyr,所以我可以在 R 中使用它的功能。我已经在不同的环境中使用了很多次,包括 Centos 7。

> install.packages("dplyr")
Installing package into ?/home/user/R/x86_64-redhat-linux-gnu-library/3.6?
(as ?lib? is unspecified)
trying URL 'https://cran.rstudio.com/src/contrib/dplyr_0.8.5.tar.gz'

然后它去下载包并经过很多编译步骤。跳到编译的最后一部分,

g++ -m64 -std=gnu++11 -shared -L/usr/lib64/R/lib -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o dplyr.so RcppExports.o address.o api.o arrange.o between.o bind.o distinct.o encoding.o filter.o group_indices.o hybrid.o init.o join.o join_exports.o mutate.o rlang-export.o rlang.o select.o set.o summarise.o test.o utils-bindings.o utils.o window.o -L/usr/lib64/R/lib -lR
installing to /home/user/R/x86_64-redhat-linux-gnu-library/3.6/00LOCK-dplyr/00new/dplyr/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/user/R/x86_64-redhat-linux-gnu-library/3.6/Rcpp/libs/Rcpp.so':
  /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /home/user/R/x86_64-redhat-linux-gnu-library/3.6/Rcpp/libs/Rcpp.so) 

所以,我显然找不到 GLIBCXX_3.4.26。我不清楚一些事情,包括我的哪些软件包需要它(dplyr 是否需要它,或者它是否无辜地调用了一个需要它的库)。我知道我不会在 Centos 8 中获得 GLIBCXX_3.4.26。但现在我需要了解是否需要为 R 找到需要早期版本的安装程序(我可能在 EPEL 7 中找到?)或者我是否需要需要找到 dplyr 的早期版本(我可能会在 CRAN 的档案中找到?)

yum list installed 报告的我的 R 版本是 3.6.3-1.el8。我的 stdc++ 是 8.3.1-4.5.el8。

标签: rdplyrcrancentos8

解决方案


推荐阅读