Ubuntu 20.04 gcc report wrong version

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
2

1 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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like