安装显卡nvifia驱动还是出现问题如下:

The CC version check failed: The kernel was built with gcc version 7.3.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12), but the current compiler version is cc(Ubuntu 5.5.0-12ubuntu1~16.04) 7.5.0 20171010.

通过apt安装的gcc版本都是7.5,找不到7.3,只能源码安装,如下教程源码安装gcc

一、源码编译安装gcc-4.9.2

科大开源镜像站 GCC源码
https://mirrors.ustc.edu.cn/gnu/gcc/

  1. 下载gcc-7.3.0
    wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

1、下载gcc源码包

Download (HTTP): http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz

2、解压压缩包

[root@localhost tmp]# cd /usr/local/
[root@localhost local]# tar -zxvf gcc-4.9.2.tar.gz

3、下载编译所需的依赖包

这个步骤有两种方式完成:

a) 如果Linux有网络连接,直接这样:

[root@localhost local]# cd gcc-4.9.2
[root@localhost gcc-4.9.2]# ./contrib/download_prerequisites

b) 如果Linux没有网络连接(我主机和虚拟机是Host-only,不能联网,所以另外想办法),则用Windows上网下载这几个包:

ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

然后解压并移动到gcc-4.8.1下面:

tar -xjf gmp-4.3.2.tar.bz2

tar -xjf mpfr-2.4.2.tar.bz2

tar -xzf mpc-0.8.1.tar.gz

mv gmp-4.3.2 gcc-4.8.1/gmp

mv mpfr-2.4.2 gcc-4.8.1/mpfr

mv mpc-0.8.1 gcc-4.8.1/mpc

这样的做法好处是,不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译(事实上这也是gcc-4.8.1/contrib/download_prerequisites脚本的做法,个人感觉更简洁些)。本人使用的第一种方法,第二种方法需要注意版本一定要一致。

4、编译安装gcc

[root@localhost gcc-4.9.2]#sudo apt install  g++  m4 gcc //为避免出错建议安装此包
[root@localhost gcc-4.9.2]#  ./configure --prefix=/usr/local/gcc  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib
[root@localhost gcc-4.9.2]# make -j64
[root@localhost gcc-4.9.2]# make install -j64 

编译参数说明:

--prefix=/usr/local/ 指定安装路径

--enable-bootstrap 这里引用网上一些文献对该参数的解释:用第一次编译生成的程序进行第二次编译,然后用再次生成的程序进行第三次编译,并且检查比较第二次和第三次结果的正确性,也就是进行冗余的编译检查工作。 非交叉编译环境下,默认已经将该值设为 enable,可以不用显示指定;交叉编译环境下,需要显示将其值设为 disable。

--enable-checking=release 以软件发布版的标准来对编译时生成的代码进行一致性检查;设置该选项为 enable并不会改变编译器生成的二进制结果,但是会导致编译的时间增加;该选项仅支持gcc编译器; 总体而言,对于上面这个选项,机器的硬件配置较低,以及不愿等待太久编译时间的童鞋,可以设置为 disable;但是这会增加产生未预期的错误的风险,所以应该慎用。 可以同时设置 --disable-bootstrap 与 --disable-checking,这对编译过程的提速很有帮助。

--enable-threads=posix 顾名思义,启用posix标准的线程支持 ,要让程序能在符合POSIX规范的linux发布版上正确运行,就应该启用该选项,取决于宿主或目标操作系统的类型,其它可用值有:aix,dec,solaris,win32等,如果你是其它的类UNIX系统,就需要设置相应的值。

--enable-languages=c,c++ 支持的高级语言类型和运行时库,可以设置的所有语言包括 ada,c,c++,Fortran,java,objc,obj-c++,GO 等语言。这里只开启了c和c++,因为支持的语言越多,就需要安装越多的相应静态与动态库,还有五花八门的依赖库,这会让管理变得困难,体积也会变得庞大。

--disable-multilib 如果你的操作系统是32位,默认就已经设置为 disable,这意味着gcc仅能生成32位的可执行程序;如果你的操作系统是64位,默认就已经设置为 enable,这意味着用gcc编译其它源文件时可以通过 -m32 选项来决定是否生成32位机器代码。如果在64位系统上,要禁止生成32位代码, 设置 --disable-multilib。

--enable-gather-detailed-mem-stats 允许收集详细的内存使用信息,如果设置该参数为 enable,则将来编译好的gcc可执行程序,可以通过 -fmem-report 选项来输出编译其它程序时的实时内存使用情况。

--with-long-double-128 指定 long double 类型为128位(16字节!);设置为 without,则 long double类型将为64位(8字节),这将与普通的 double 类型一样。 基于 Glib 2.4以上版本编译时,默认已经是128位。

5、后续操作

导出环境变量:

[root@localhost gcc-4.9.2]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright  2010 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[root@localhost gcc-4.9.2]# vim /etc/profile.d/gcc.sh
export PATH=/usr/local/gcc/bin:$PATH
[root@localhost gcc-4.9.2]# source /etc/profile.d/gcc.sh
[root@localhost gcc-4.9.2]# gcc --version
gcc (GCC) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
倘若系统有两个版本gcc,如果不重新连接,系统默认可能还是原来的gcc版本
zb@node3:~$ rm /usr/bin/gcc
zb@node3:~$ ln -s /usr/local/bin/gcc /usr/bin/gcc

导出头文件:

[root@localhost gcc-4.9.2]# ln -sv /usr/local/gcc/include/ /usr/include/gcc
"/usr/include/gcc" -> "/usr/local/gcc/include/"

导出库文件:

[root@localhost gcc-4.9.2]# vim /etc/ld.so.conf.d/gcc.conf
/usr/local/gcc/lib64
[root@localhost gcc-4.9.2]# ldconfig -v
[root@localhost gcc-4.9.2]# ldconfig -p |grep gcc  //验证是否导出 

安装显卡nvifia驱动如果还是出现问题如下:

The CC version check failed: The kernel was built with gcc version 7.3.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12), but the current compiler version is cc(Ubuntu 5.5.0-12ubuntu1~16.04) 7.5.0 20171010.

分析说明:导致问题的原因可能是安装了不同版本的gcc冲突引起的,查看 /usr/bin/ 目录,发现有gcc-4.9和gcc-5.5等文件,但是不知道gcc-5具体是gcc 5.4还是gcc 5.5,于是重新安装了gcc 5.4(安装方法见参考文献1),使用gcc -v 指令查看gcc的版本为gcc version 5.4.0,于是重新安装显卡驱动,结果依然报“The CC version check failed”,查看了gcc compiler的指向:

zb@node3:~$ ls -al /usr/bin/cc
lrwxrwxrwx 1 root root 20 11月 27  2018 /usr/bin/cc -> /etc/alternatives/cczb@node3:~$ ls -al /etc/alternatives/cc
lrwxrwxrwx 1 root root 12 11月 27  2018 /etc/alternatives/cc -> /usr/bin/gcczb@node3:~$ ls -al /usr/bin/gcc
lrwxrwxrwx 1 root root 5 11月 27  2018 /usr/bin/gcc -> gcc-5

 

发现CC最终还是指向了gcc-5,出问题的原因可能就是这个gcc-5的版本可能为gcc-5.5,
查看之前安装的gcc version 5.4的位置:

zb@node3:~$ which gcc
/usr/local/bin/gcc
  • 1
  • 2

果然系统使用的gcc-5和gcc 5.4不是同一个,因此将gcc链接到gcc 5.4:

zb@node3:~$ rm /usr/bin/gcc
zb@node3:~$ ln -s /usr/local/bin/gcc /usr/bin/gcc

到这里GCC也已经安装完毕了。

(2) Unable to load the kernel module 'nvidia.ko'

 
  1. ERROR: Unable to load the kernel module 'nvidia.ko'.  

  2. This happens most frequently when this kernel module

  3. was built against the wrong or improperly configured

  4. kernel sources, with a version of gcc that differs

  5. from the one used to build the target kernel, or if

  6. a driver such as rivafb, nvidiafb, or nouveau is present

  7. and prevents the NVIDIA kernel module from obtaining

  8. ownership of the NVIDIA graphics device(s), or no NVIDIA

  9. GPU installed in this system is supported by this NVIDIA

  10. Linux graphics driver release.

查看日志之后,发现是内核签名导致的

nvidia: module verification failed: signature for required key missing - tainting kernel

网上有的资料说对nvidia的模块进行签名,实际上有一个很简单的方法,首先进bios关闭安全启动,然后执行下面的命令,重启之后再安装应该就好了。

sudo update-initramfs -u

arm-server安装nvidia驱动,解决gcc版本不匹配问题,以及内核签名失败相关推荐

  1. 给笔记本电脑安装nvidia驱动的辛路历程

    给笔记本电脑安装nvidia驱动的辛路历程 问题一: apt-get update失败,错误表现 12:13 - 12:40 问题二: 判断ubuntu下独立显卡是否生效 14:32~15:51 问题 ...

  2. Ubuntu20.04安装Nvidia驱动——4060显卡(黑屏解决方法)

    写在前面: 如果按照正常方法安装不成功(如无法连接第二屏幕,nvidia-smi无显示),先尝试在安装后不管什么方法进入桌面后在应用程序中找到NVIDIA X Server Settings,在最后一 ...

  3. ubuntu18.04安装NVIDIA驱动的心酸(失败)经历及解决方法(换系统成功)

    问题描述: ubuntu18.04系统安装Nvidia驱动,nvidia-smi能够输出GPU显卡信息,但sudo reboot后,黑屏,不能进入图形界面,无法开机.进入tty界面删除nvidia驱动 ...

  4. Ubuntu18.04 LTS 安装nvidia驱动出现Ignoring CC version mismatch

    问题背景:之前显卡驱动一直正常,突然有一天 使用nvidia-smi报错: NVIDIA-SMI has failed because it couldn't communicate with the ...

  5. Ubuntu18及22安装NVIDIA驱动、CUDA、CUDNN、Pytorch

    前言 安装pytorch的教程网上有许多,我记录并分享下自己两台笔记本上安装NVIDIA驱动.CUDA.CUDNN.Pytorch的过程和心得. 首先说明,安装pytorch-gpu需要完成nvidi ...

  6. 在Fedora上安装NVIDIA驱动详细教程及解析

    写在前面:在经历了各种尝试和试错之后,发现并总结出了比较合适.安全且合理的NVIDIA驱动安装方案,本教程基于Fedora linux发行版,rhel,RockyOS等基本完全相同,deb系及其它li ...

  7. Ubuntu20.04安装NVIDIA驱动+cuda+cudnn+anaconda+pytorch+pycharm经验

    配置环境是深度学习的第一道门槛,也是必须迈过的一道门槛,之前一直在windows平台上跑pytorch,但很多包无法安装,必须要使用Linux.在经历了很多坑,无数次重装系统,崩溃,坚持后终于在Ubu ...

  8. Ubuntu NVIDIA Intel双显卡,安装NVIDIA驱动

    Ubuntu NVIDIA+Intel双显卡安装nvidia驱动 笔记本型号及配置 驱动安装 [TODO] NVIDIA GEFORCE GTX 1660Ti Max-Q Design noteboo ...

  9. 安装Nvidia驱动并使用Anaconda搭建GPU环境(安装CUDA)+ PyTorch + TensorFlow + PyTorch Lightning

    前言: 准备在实验室的一个服务器上用GPU的,但是这个服务器好久没有人用了,cuda还是10.0版本,需要重装cuda,嫌麻烦,然后发现Nvidia官网居然有anaconda安装CUDA的教程,所以考 ...

最新文章

  1. 电脑装机必备软件清单_推荐15款超赞Windows装机必备软件,让你的电脑再好用10倍!...
  2. shell逻辑运算符优先级_ios从入门到放弃之C基础巩固运算符
  3. Golang的下划线标识符
  4. E:Tree Queries(假树链剖分写法)
  5. mips j指令_MIPS的基本实现
  6. 关于Loadrunner 错误解决
  7. html 仿ios选择控件,仿ios垂直滚动选择
  8. HTML5新增的客户端校验
  9. 微软拟禁用JIT提高Edge浏览器安全性
  10. AOP概述(什么是AOP?)——Spring AOP(一)
  11. 显示器最大分辨率测试软件,液晶显示器分辨率快速设置工具
  12. 北京联通 烽火光猫+烽火HG680 不拆机破解
  13. 计算机在中医方剂中的应用,计算机中医应用(精).docx
  14. 那些年,我们常见的那些人
  15. 非阻塞IO处理上几个常见问题
  16. iOS一键搞定自动打包并发布到AppStore和Fir
  17. turtle简单绘图
  18. 在AD17中如何自定义板子大小
  19. 互联网公司招聘--阿里巴巴--运营专员--2016年笔试题
  20. python 画任意多边形

热门文章

  1. 读者调研 | 行上行下小书屋邀你填问卷啦
  2. 出国程序---去体检打印成绩单
  3. python 遍历字典 提取指定key值value
  4. 独切乐不如众切乐:乐逗版《水果忍者》推出全新对战模式
  5. Spring中文乱码解决方法
  6. 溜达:蔚县古城 打铁花 观社火
  7. 无聊猿的暴富、包袱与抱负
  8. poi 导出Excel 动态 合并单元格
  9. 电动牙刷PCBA,两键六模式声波电动牙刷方案,支持无线充充电
  10. kali系统的u盘安装过程_Kali Linux安装U盘启动并持久化