【问题标题】:Building the R package, "later," generates undefined symbol“稍后”构建 R 包会生成未定义的符号
【发布时间】:2019-07-25 02:07:05
【问题描述】:

更新已安装的 R-3.5.2 包(在 Slackware-14.2 中)“后来的”包由于此错误而无法加载:

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

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

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

所有建议都会跟进。

【问题讨论】:

  • 您是否尝试过使用 devtools 安装 developerper 版本? devtools::install_github("r-lib/devtools")
  • 这里安装了开发工具。到目前为止,我还没有找到需要“稍后”的包,所以我忽略了它。如果/当我需要时,我会处理那个包。感谢您的建议。

标签: r undefined symbols


【解决方案1】:

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

假设您在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2012-02-09
    相关资源
    最近更新 更多