14

I recently upgraded my Ubuntu version to the latest 20.04 release. Some of my earlier projects (developed on 16.04) were compiling just fine with a gcc version of 5 (gcc-5.4.0).

The default version in Ubuntu 20.04 is gcc-9. I'm trying to switch my gcc version down to 5. I've gone through several posts such as How can I build and install gcc-5.4.0 on Ubuntu 18.04? and How to choose the default gcc and g++ version?, but the fact is that gcc-5 packages aren't even available for 20.04 (see https://packages.ubuntu.com/search?keywords=gcc-5).

As expected, the command

sudo apt install gcc-5  

does not work. Is there a way I can install gcc-5 (and gcc-4) on the latest release of Ubuntu 20.04? It seems like I will somehow have to install packages that are available only in earlier releases such as 16.04 or 18.04.

Lorenz Keel
  • 9,511
V-Red
  • 241

2 Answers2

17

As mentioned in the comment section, GCC versions lower than 7 are still available in xenial repository. You can follow the following steps to install gcc-5:

  1. Add xenial to /etc/apt/sources.list

Open sources.list with sudo

sudo vim /etc/apt/sources.list

Add the following lines in the sources.list file

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

  1. sudo apt update
  2. sudo apt install g++-5 gcc-5

Reference answer: Install gcc 4.9 at ubuntu 18.04

To change default gcc version to gcc 5 you can follow this link. Below I am adding the steps for completeness.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 5
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 5

And then select the correct version manually as below:

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

If you find this answer helpful, please also consider upvoting the reference answer from which most of my answer is borrowed.

1

The only solution that worked for me is:

Manual installing of .deb packages

(sad programmer noises)

  1. Go to http://old-releases.ubuntu.com/ubuntu/pool/universe/g/
  2. Download all .deb packages for gcc compiler version you want, f.e.:
gpc-2.1-3.4_3.4.6-6ubuntu5_amd64.deb
cpp-3.4_3.4.6-6ubuntu5_amd64.deb       lib32g2c0_3.4.6-6ubuntu5_amd64.deb
g++-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0_3.4.6-6ubuntu5_amd64.deb
g77-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0-dev_3.4.6-6ubuntu5_amd64.deb
gcc-3.4_3.4.6-6ubuntu5_amd64.deb       libstdc++6-dbg_3.4.6-6ubuntu5_amd64.deb
gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb  libstdc++6-dev_3.4.6-6ubuntu5_amd64.deb
  1. Manually install them by running command, f.e.:
sudo dpkg -i ./gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb 
sudo dpkg -i ./cpp-3.4_3.4.6-6ubuntu5_amd64.deb
sudo dpkg -i ./gcc-3.4_3.4.6-6ubuntu5_amd64.deb

and so on...

Check the console output errors about package dependencies to figure out the package install order.

  • If you encounter error (bug probably) about crossdependency of "g++..." package to "libstdc++..." package and v.v. then run install command to update libstdc++ package with exact version number, f.e.:
sudo apt-get install libstdc++6
  1. Hooray! Use installed gcc (g++) version by, f.e.:
g++-3.4 -v

P.S.: of you're getting missing libs errors try

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

before the build

Alexander G.
  • 111
  • 2