- 第一个坑 【gcc版本不匹配】
请确认你的gcc版本是不是12的,11是编译不通过的。
一般在最后编译时报错,在/var/log/nvidia-installer.log日志中可以看到以下字样
bash
Warning: Compiler version check failed:
The major and minor number of the compiler used to
compile the kernel:
x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38
does not match the compiler used here:
cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 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.
It is recommended to set the CC environment variable
to the compiler that was used to compile the kernel.
To skip the test and silence this warning message, set
the IGNORE_CC_MISMATCH environment variable to "1".
However, mixing compiler versions between the kernel
and kernel modules can result in subtle bugs that are
difficult to diagnose.
*** Failed CC version check. ***
- 没有找不到 gcc 或者cc
bash
cd /usr/bin/
ls -al | grep gcc
去到/usr/bin目录下查看是否有gcc文件,如果只有gcc-12,需要创建软链接。
bash
sudo ln -s /usr/bin/gcc-12 /usr/bin/gcc
sudo ln -s /usr/bin/gcc /usr/bin/cc
3.没有cc文件,报错如下
bash
ERROR: The CC sanity check failed:
The C compiler '/usr/bin/cc' does not appear to be able to
create object files. Please make sure you have
your Linux distribution's libc development package
installed and that '/usr/bin/cc' is a valid C compiler
name.
先检查cc软链接是否存在,可以参考坑2。
再去看看/usr/lib/gcc/x86_64-linux-gnu/12/目录下是否有cc1文件.