如果你的gcc(尽量大于7.3版本)版本过低,那么上述命令sudo dkms install -m nvidia -v 470.103.01失败的原因就找到了,查看现有的gcc版本:
gcc --version
这里我讲解安装gcc7.5版本的过程:
第一步,下载gcc,输入命令:
cd /usr/local/src/
wget http://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.xz tar xvf
gcc-7.3.0.tar.xz
第二步,安装gcc的依赖软件,gcc的软件包内提供了自动下载需要软件的脚本,命令如下:
cd gcc-7.5.0/
./contrib/download_prerequisites
第三步,生成Makefile文件,输入命令:
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
第四步,编译gcc,命令如下:
make -j4
ls /usr/local/bin | grep gcc
多核电脑可以添加 “-j4” ,make对多核处理器的优化选项,此步骤非常耗时 !
第五步,安装gcc,命令如下:
make install
安装完成后,再次输入命令sudo dkms install -m nvidia -v 470.103.01,如果成功了,恭喜你!
此时,我们需要把新安装的gcc版本的优先级调到最高,否则系统还是会调用以前版本的gcc,这样还是会导致命令sudo dkms install -m nvidia -v 470.103.01失败。
gcc在 /usr/bin 目录下,输入命令查看所有版本的gcc:
ls /usr/bin/gcc*
ls /usr/bin/g++*
将查到的版本加入gcc候选中,最后的数字是优先级,如下:
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
完成上面的操作之后,我们就可以通过下面的指令来选择不同的gcc和g++的版本了
sudo update-alternatives --config gcc
这里我们选择新安装的 gcc-7,也就是输入数字 2 ,到这里,我们在输入命令sudo dkms install -m nvidia -v 470.103.01,成功!