为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