Ubuntu22使用apt安装nvidia-driver报错E: Sub-process /usr/bin/dpkg returned an error code (1)
·
在为ubuntu系统安装英伟达的驱动时报错E: Sub-process /usr/bin/dpkg returned an error code (1),原因是系统的 GCC 版本与内核编译时使用的 GCC 版本不一致导致的。
Ubuntu 22.04 默认使用 GCC 11,而内核可能使用 GCC 12 编译。这导致 NVIDIA 驱动在编译模块时失败,所以需要将默认GCC版本改为与内核相匹配的版本(比如GCC12)
查看gcc版本
gcc --version
查看内核使用的gcc版本
cat /proc/version
gcc(Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 就是用于编译内核的 GCC 版本。
使用apt安装gcc12
# 添加PPA
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa -y
sudo apt update
# 安装gcc12
sudo apt install g++-12 gcc-12
gcc-12 --version # 查看是否安装成功
设置优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 80 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11
查看gcc版本是否为12
gcc --version

重新安装驱动即可
sudo apt-get purge nvidia*
sudo apt-get install nvidia-driver-550 nvidia-dkms-550
另附报错上下文
Building initial module for 6.8.0-45-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-kernel-s
ource-550.0.crash'
Error! Bad return status for module build on kernel: 6.8.0-45-generic (x86_64)
Consult /var/lib/dkms/nvidia/550.107.02/build/make.log for more information.
dpkg: error processing package nvidia-dkms-550 (--configure):
installed nvidia-dkms-550 package post-installation script subprocess returned
error exit status 10
Setting up libnvidia-egl-wayland1:i386 (1:1.1.9-1.1) ...
Setting up libx11-6:i386 (2:1.7.5-1ubuntu0.3) ...
dpkg: dependency problems prevent configuration of nvidia-driver-550:
nvidia-driver-550 depends on nvidia-dkms-550 (<= 550.107.02-1); however:
Package nvidia-dkms-550 is not configured yet.
nvidia-driver-550 depends on nvidia-dkms-550 (>= 550.107.02); however:
Package nvidia-dkms-550 is not configured yet.
dpkg: error processing package nvidia-driver-550 (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup erro
r from a previous failure.
Setting up libxext6:i386 (2:1.3.4-1build1) ...
Setting up libnvidia-fbc1-550:i386 (550.107.02-0ubuntu0.22.04.1) ...
Setting up libnvidia-gl-550:i386 (550.107.02-0ubuntu0.22.04.1) ...
Setting up libnvidia-decode-550:i386 (550.107.02-0ubuntu0.22.04.1) ...
Setting up libnvidia-encode-550:i386 (550.107.02-0ubuntu0.22.04.1) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: Generating /boot/initrd.img-6.8.0-45-generic
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Errors were encountered while processing:
nvidia-dkms-550
nvidia-driver-550
E: Sub-process /usr/bin/dpkg returned an error code (1)
更多推荐




所有评论(0)