When trying to install nvidia proprietary driver on my 20.04 LTS host I ran into a problem that it would not install when using DKMS. It complained about mismatach between gcc version used for the kernel (9.3.0) and current gcc version (9.4.0). The problem occurred after upgrading to the latest kernel version. When running gcc --version it reports 9.4.0 but apt show gcc reports 9.3.0.
gcc --version gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0 apt show gcc Package: gcc Version: 4:9.3.0-1ubuntu2 lsb_release -a LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal uname -a Linux xenon 5.4.0-104-generic #118-Ubuntu SMP Wed Mar 2 19:02:41 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux It seems to me that the problem is that the gcc package is 9.3.0 as shown by apt but reports 9.4.0.
Any suggestions ?
As said in a comment I cant see older gcc version. My sources.list file may be the problem ? It looks like this :
###### Ubuntu Main Repos deb focal main restricted multiverse universe deb-src focal main restricted multiverse universe ###### Ubuntu Update Repos deb focal-security main restricted multiverse universe deb focal-updates main restricted multiverse universe deb-src focal-security main restricted multiverse universe deb-src focal-updates main restricted multiverse universe 21 Answer
I was able to bypass this problem by temporarily downgrading gcc to 9.3, then I could compile the nVidia driver:
Using aptitude, I downgraded and then held g++-9, which automatically held its related packages. You could also use "apt-mark hold" if you prefer it.
Here are the packages that are now temporarily in a held state on my system:
[HOLD, DEPENDENCIES] cpp-9:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] g++-9:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] gcc-9:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] gcc-9-base:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] libasan5:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] libgcc-9-dev:amd64 9.3.0-10ubuntu2 [HOLD, DEPENDENCIES] libstdc++-9-dev:amd64 9.3.0-10ubuntu2 Once new kernels for your system are compiled with gcc 9.4 (i.e., use:
cat /proc/version to check) or when you no longer need to recompile the nVidia driver, you should be able to release the held 9.4 gcc upgrades and install them on your system.
EDIT: Per your request, here is an /etc/apt/sources.list you can use:
# See for how to upgrade to # newer versions of the distribution. deb focal main restricted deb-src focal main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb focal-updates main restricted deb-src focal-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb focal universe deb-src focal universe deb focal-updates universe deb-src focal-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb focal multiverse deb-src focal multiverse deb focal-updates multiverse deb-src focal-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb focal-backports main restricted universe multiverse deb-src focal-backports main restricted universe multiverse deb focal-security main restricted deb-src focal-security main restricted deb focal-security universe deb-src focal-security universe deb focal-security multiverse deb-src focal-security multiverse Please give aptitude a try. There is a manual and there are tutorials available on the web.
6