Arch Linux编译R-mkl后R找不到icc无法安装包的求助
解决R中找不到Intel OneAPI icc编译器的问题
方法一:确保全局环境变量被所有会话加载
将Intel OneAPI的路径添加到
/etc/environment文件(该文件会被所有登录会话读取,包括图形界面):sudo nano /etc/environment在PATH行末尾追加路径,修改后示例:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/intel/oneapi/compiler/latest/linux/bin/intel64/"保存后重启系统或重新登录会话生效。
或者调用Intel官方初始化脚本,在
/etc/bash.bashrc中添加:source /opt/intel/oneapi/setvars.sh > /dev/null 2>&1该脚本会自动配置所有OneAPI相关环境变量,比手动添加PATH更全面。
方法二:在R中手动指定编译器
临时方案:在当前R会话中设置CC环境变量后再安装包:
Sys.setenv(CC = "/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc") install.packages("lazyeval")永久方案:修改R系统配置文件
/usr/lib64/R/etc/Makeconf,找到CC行替换为icc绝对路径:sudo nano /usr/lib64/R/etc/Makeconf修改内容:
CC=/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc同时可检查
CXX等变量,确保指向Intel对应编译器(如icpc)。
方法三:确保图形界面启动的R加载bash环境
若从图形界面启动R/RStudio,可能不会读取bash配置文件,可在用户目录创建~/.profile并添加配置:
echo 'source /opt/intel/oneapi/setvars.sh > /dev/null 2>&1' >> ~/.profile
重新登录后启动R即可生效。
内容的提问来源于stack exchange,提问作者Juliano B. Nequirito
相关产品推荐
相关产品推荐

