规格:Quadro P1000(兼容驱动程序版本 440.100,尝试获取版本 450.57)内核:5.7.11-050711-generic Ubuntu 20.04 focal fossa
关键问题:我无法确定是否真的可以在 ubuntu 20.04 上获取最新的 gcc 版本。 (目前发现 10.1 是实验性的),我似乎能找到的最新版本是 9.3.0(但其他平台上有更新的版本)。目前我无法正确编译驱动程序(Nvidia 的带有 dkms 的运行脚本),并且在启动和关闭时收到非常讨厌的警告消息(它们很长,而且如果我能让它工作的话,它们是不相关/不必要的)。
它建议我检查的安装脚本表明驱动程序是使用版本 10.2.0 编译的。在我看来,我无法下载(或至少找不到)适用于 ubuntu 的正确版本,我想我可以降级,但收到了相同的错误消息。
我目前安装了 9.3.0 和 10.1,我的水平介于初学者和中级之间,但我严重依赖 apt 来获取我的软件包,并且不确定(没有提供 wget 的地址)如何以其他方式安装软件包(在撰写本文时,我目前只能使用命令行)。
我可以强制它忽略版本,但我已经收到 ACPI 错误(未处理的区域)和 DC 状态不匹配,这表明我做错了什么,我(希望)就是这样。
我知道我几乎肯定遗漏了必要的信息,但我会在必要时进行更新。
我知道我可以使用 apt 来安装 Nvidia 驱动程序,但我已经这样做了两次并且第二个屏幕停止工作,所以我想使用 Nvidia 运行文件,这样我就不必再处理它了。
答案1
如果你在我的帖子中看到 *1,它指的是详细描述的注释
- 您可以从这里获取 gcc10.2 https://bigsearcher.com/mirrors/gcc/releases/gcc-10.2.0/
- 保存到首页
- 进入终端并解压压缩文件夹;您可能需要 sudo
- cd 进入新文件夹;它应该叫做 gcc-10.2.0
在该文件夹中输入这些终端命令
contrib/download_prerequisites
- 光盘〜
在家输入这些终端命令
mkdir build && cd build
==========================================================================
- 这里你需要决定将它安装到哪里。我将引用 /usr/local/bin,因为它已经在 PATH 中了
../gcc-10.2.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/bin/gcc-10.2.0 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-10.2
==========================================================================
- 将 x 替换为您拥有的 CPU 核心数*1。这将需要一段时间,具体取决于您的计算机速度。
make -j x
==========================================================================
- 一旦全部完成,在终端中输入此命令,这不会花很长时间。
sudo make install-strip
==========================================================================
现在您必须更改默认的 gcc 版本,以便使用正确的版本来安装 NVIDIA 驱动程序。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc-10.2.0/bin/gcc-10.2 70 --slave /usr/bin/g++ g++ /usr/local/bin/gcc-10.2.0/bin/g++-10.2
- 将我的路径替换为您安装它的位置,并记得使用 gcc-10.2.0 文件夹的 bin 文件夹中的可执行文件。
==========================================================================
- 输入此终端命令并选择gcc-10.2
sudo update-alternatives --config gcc
==========================================================================
- 之后检查你的 gcc 版本以澄清
gcc --version
- 应该是 10.2
我从哪里获得信息
- 在 Ubuntu Linux 上构建 GCC 10:https://solarianprogrammer.com/2016/10/07/building-gcc-ubuntu-linux/
- 在 Ubuntu 中安装较新的 GCC 版本:https://tuxamito.com/wiki/index.php/Installing_newer_GCC_versions_in_Ubuntu
*1. 我从链接中的指南中更改了这一点,其中说:“您通常希望将两倍的计算机核心数传递给 make 命令以加快构建速度”我假设他在谈论线程,在这种情况下并非所有 CPU 都具有多线程。