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

Ubuntu 17.10升级CUDA 9.1后安装R forecast包报错求助

解决CUDA 9.1与高版本GCC冲突导致R包forecast安装失败的问题

这个问题我之前帮人处理过,本质是CUDA 9.1对GCC版本有严格限制——它不支持6.x以上的GCC版本,而Ubuntu 17.10默认预装的是GCC 7.x。当安装R的forecast包时,编译过程会调用系统默认的GCC,直接触发了CUDA的版本检查报错。

下面给你两种实用的解决办法:

方法一:临时切换系统全局GCC版本(适合一次性解决场景)

  1. 先安装GCC 6和G++ 6:
sudo apt-get install gcc-6 g++-6
  1. 将系统默认的GCC/G++临时切换到6版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6

这里的60是优先级数值,比Ubuntu 17.10默认的GCC 7优先级高,系统会优先选用GCC 6。

  1. 打开R,重新执行安装命令:
install.packages("forecast")

此时编译过程会使用GCC 6,不会触发CUDA的版本报错。

  1. 安装完成后,如果需要切回原来的GCC版本(比如继续使用CUDA的其他功能),执行:
sudo update-alternatives --config gcc

在弹出的选项列表里选择你原来的GCC版本(比如gcc-7)即可。

方法二:仅给R指定编译用的GCC版本(不修改系统全局设置)

如果你不想改动系统的默认编译器,可以单独给R设置编译环境变量:

  1. 同样先安装GCC 6和G++ 6:
sudo apt-get install gcc-6 g++-6
  1. 打开R控制台,设置编译环境变量:
Sys.setenv(CXX="/usr/bin/g++-6", CC="/usr/bin/gcc-6")
  1. 接着执行安装命令:
install.packages("forecast")

这样forecast包编译时会单独使用GCC 6,不会影响系统其他程序的编译器使用。

补充说明:CUDA 9.1的编译工具链是基于GCC 6开发的,更高版本的GCC引入了一些新语法和特性,nvcc暂时无法兼容,所以才会抛出这个版本不支持的错误。只要让R包编译时用兼容的GCC版本就能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:46:31