You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下安装RcppArrayFire遇错:无法检测到ArrayFire安装

解决RcppArrayFire安装找不到ArrayFire的问题

方法1:使用configure.args指定正确参数

你之前传入的configure.args格式不符合要求,需要明确指定头文件和库文件的具体路径,而非直接传递ArrayFire的根目录。执行以下命令:

install.packages("RcppArrayFire", 
                 configure.args = c("--with-arrayfire-include=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/include",
                                    "--with-arrayfire-lib=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/lib64"))

注:若为32位系统,将lib64替换为lib即可。

方法2:设置环境变量后安装

先在终端配置环境变量,再启动R执行安装:

  1. 终端执行:
export ArrayFire_INCLUDE_DIR=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/include
export ArrayFire_LIBRARY_DIR=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/lib64
  1. 启动R,执行:
install.packages("RcppArrayFire")

方法3:从GitHub源码编译安装

若前两种方法无效,可直接从项目源码编译:

devtools::install_github("daqana/rcpparrayfire", 
                         args = c("--with-arrayfire-include=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/include",
                                  "--with-arrayfire-lib=/home/enzo/Downloads/ArrayFire-3.9.0-Linux/lib64"))

注:需先安装devtools包:install.packages("devtools")

额外检查项

  • 确认ArrayFire的lib/lib64目录下存在libaf.so、libafcpu.so等库文件,include目录下有arrayfire.h等头文件。
  • 若为Ubuntu/Debian系统,可尝试将ArrayFire的库目录添加到系统库路径:
sudo ldconfig /home/enzo/Downloads/ArrayFire-3.9.0-Linux/lib64

内容的提问来源于stack exchange,提问作者E_1996

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 10:10:56