为R-3.5.2(在Slackware-14.2中)更新已安装的软件包,由于以下错误,“较晚”的软件包无法加载:

/usr/lib/R/library/later/libs/later.so: undefined symbol: __atomic_fetch_add_8,


Web搜索和r-help邮件列表上的人员无法解决此问题。

较早版本的“稍后”安装和更新没有问题。

所有建议将得到跟进。

最佳答案

github上的问题#73讨论了在某些平台上,即使-latomic是C ++ 11标准库的一部分,也需要添加一个标志std::atomic

假设您在Slackware 14.2上安装了C ++ 11,则应该能够:

git clone https://github.com/r-lib/later.git
nano later/src/Makevars # or whatever editor you prefer
# Change `PKG_LIBS = -pthread` to `PKG_LIBS = -pthread -latomic`
sudo R CMD INSTALL later


2019年12月更新:

使用更高版本的最新版本,现在是:

git clone https://github.com/r-lib/later.git
nano later/src/Makevars.in # or whatever editor you prefer
# Change `PKG_LIBS = -pthread @extra_pkg_libs@` to `PKG_LIBS = -pthread -latomic @extra_pkg_libs@`
sudo R CMD INSTALL later

08-18 05:07