安装特定的 gcc 版本以匹配内核编译的版本(我有 11.4.0,需要 11.3.0)

安装特定的 gcc 版本以匹配内核编译的版本(我有 11.4.0,需要 11.3.0)

为了修复 nvidea 显卡在升级后短暂闪烁黑色的问题,我尝试安装一个较旧的驱动程序。但是 nvidea 驱动程序抱怨用于编译内核的编译器版本与我拥有的编译器版本不匹配。11.4.0但安装程序坚持要11.3.0

我如何安装所需版本的 gcc?

kubuntu:22.04带有内核:

uname -a
Linux aero 6.2.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jul 13 16:27:29 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

内核编译器版本:

cat /proc/version
Linux version 6.2.0-26-generic (buildd@bos03-amd64-042) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jul 13 16:27:29 UTC 2

安装的 gcc 版本:

gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 

显卡版本:

sudo lshw -C display
  *-display                 
       description: VGA compatible controller
       product: TU116 [GeForce GTX 1660 SUPER]

答案1

不推荐这样做,但你可以通过下载安装版本 11.3gcc-11(版本 11.3)来自这里.并下载依赖项gcc-11-基础libgcc-11-dev

然后,运行sudo apt install /path/to/filewhere/path/to/file是实际下载文件的路径。如果找不到该文件,您可能需要将其放在双引号中,例如"/path/to/file"

您需要gcc-11-base先安装该包,然后libgcc-11-dev最后安装gcc-11

例如,如果它被下载到您的下载目录:

sudo apt install $HOME/Downloads/gcc-11-base_11.3.0-6ubuntu1_amd64.deb

sudo apt install $HOME/Downloads/libgcc-11-dev_11.3.0-6ubuntu1_amd64.deb

sudo apt install $HOME/Downloads/gcc-11_11.3.0-6ubuntu1_amd64.deb

我很确定gcc只需要 gcc-11 >11.2,所以这应该会降级你的 gcc 版本,当你完成编译或任何你需要它的时候,只需运行:

sudo apt update
sudo apt install --reinstall gcc-11 gcc-11-base libgcc-11-dev

升级回当前版本 gcc-11 (11.4)。

当然,安装不能保证成功,可能不安全或缺少安全更新。此外,您可能会遇到依赖项问题。如果是这种情况,您必须小心谨慎或逐个安装每个依赖项,但在安装奇怪的版本时,请务必注意需要卸载哪些软件包(如果有的话),因为您不想无意中卸载您想要或需要的一堆东西。


编辑:您将需要安装依赖项(包括上面),但您可以运行以下命令来更快地完成。

运行以下命令创建工作目录并下载软件包:

cd
mkdir GCC11.3
cd GCC11.3
wget 'http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-11/gcc-11-base_11.3.0-6ubuntu1_amd64.deb'
wget 'http://mirrors.kernel.org/ubuntu/pool/main/g/gcc-11/libgcc-11-dev_11.3.0-6ubuntu1_amd64.deb'
wget 'http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-11/gcc-11_11.3.0-6ubuntu1_amd64.deb'

现在,安装软件包。但是,再次提醒,在安装这些奇怪的版本时,请务必注意是否会卸载任何软件包。在选择 Y 接受更改之前,请查看列表!

sudo apt install ./gcc*.deb

再次,当您完成编译或需要 gcc 11.3 的任何操作后,只需运行:

sudo apt install --reinstall gcc-11 gcc-11-base libgcc-dev

升级回 gcc 11.4。

相关内容