You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04下因GCC版本与内核编译版本不兼容导致NVIDIA驱动安装失败求助

Ubuntu 22.04下因GCC版本与内核编译版本不兼容导致NVIDIA驱动安装失败求助

看起来你遇到的问题核心是内核编译使用的GCC版本(11.3)和当前系统默认的GCC版本(9.5)不匹配,导致NVIDIA驱动的DKMS模块编译失败——尤其是GCC 9不支持内核编译时用到的-mharden-sls=all编译选项,直接触发了报错。下面给你一套可行的解决步骤:

第一步:清理当前残留的NVIDIA驱动相关问题

先把之前安装失败的残留包处理干净,解决dpkg的依赖问题:

# 尝试修复未配置的包
sudo dpkg --configure -a
sudo apt-get install -f

# 如果上面的命令还是报错,彻底卸载NVIDIA相关包
sudo apt purge nvidia-dkms-470 nvidia-driver-470 nvidia-kernel-source-470
sudo apt autoremove && sudo apt autoclean

第二步:切换回与内核匹配的GCC 11版本

Ubuntu 22.04的内核是用GCC 11编译的,所以DKMS编译驱动模块必须用同版本的GCC才能匹配编译选项。我们把系统默认GCC切回11:

# 先安装GCC 11(如果之前卸载了的话)
sudo apt install gcc-11 g++-11

# 设置GCC 11为默认版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110

# 验证切换结果,应该显示GCC 11.3版本
gcc --version

第三步:重新安装NVIDIA驱动

推荐使用Ubuntu官方仓库的驱动,这样兼容性更好:

# 自动安装推荐的驱动版本
sudo ubuntu-drivers autoinstall

# 如果你需要指定470版本,也可以用这条命令
# sudo apt install nvidia-driver-470

安装完成后重启系统,然后用nvidia-smi命令验证驱动是否正常加载。

第四步:后续使用GCC 9编译Python库的正确姿势

如果你之后还需要用GCC 9来编译PyTorch等兼容要求的库,不要修改系统默认GCC版本,而是在编译/安装时临时指定编译器版本:

# 用pip安装时指定GCC 9
CC=gcc-9 CXX=g++-9 pip install your-python-package

# 如果是手动编译项目,在make时指定
make CC=gcc-9 CXX=g++-9

这样既能保证NVIDIA驱动的DKMS模块编译时和内核版本匹配,又能满足Python库的编译需求,不会再出现版本冲突的问题。

备注:内容来源于stack exchange,提问作者Jitesh Jhawar

火山引擎 最新活动