Updating to latest gcc and g++ on Ubuntu 16.04

63,808

Run the following commands in sequence. I was getting same error. This worked for me.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-snapshot
sudo apt-get install gcc-6 g++-6
Share:
63,808

Related videos on Youtube

Admin
Author by

Admin

Updated on September 18, 2022

Comments

  • Admin
    Admin over 1 year

    I recently tried to downgrade to gcc 4.7 since a cfd code I was working on didn't compile with the latest gcc version. But after many errors and the code still not compiling I gave up and would like to go back to the latest gcc and g++ compilers however it seems I may have messed something up.

    When I do:

    sudo update-alternatives --remove-all gcc 
    sudo update-alternatives --remove-all g++
    sudo apt-get install gcc-6.2 g++-6.2
    

    or even gcc-5.1 g++-5.1 for that matter, it gives me the following error

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    E: Unable to locate package gcc-6.2
    E: Couldn't find any package by glob 'gcc-6.2'
    E: Couldn't find any package by regex 'gcc-6.2'
    E: Unable to locate package g++-6.2
    E: Couldn't find any package by glob 'g++-6.2'
    E: Couldn't find any package by regex 'g++-6.2'
    

    and I also tried doing this before

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-6.2 g++-6.2
    

    but it doesn't seem to work. Finally when I just do

    sudo apt-get install gcc
    

    it says

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    gcc is already the newest version (4:5.3.1-1ubuntu1).
    

    I know I still need to install and configure alternatives but doing that doesn't work either as follows

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5.3 10
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5.3 10
    sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
    sudo update-alternatives --set cc /usr/bin/gcc
    sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
    sudo update-alternatives --set c++ /usr/bin/g++
    sudo update-alternatives --config gcc
    sudo update-alternatives --config g++
    

    Sorry this ended up quite long and please let me know if you need more info. Thanks!

    EDIT: I actually got it to work by changing gcc-5.3 to gcc-5 in the above code as that seemed to be what it's called in usr/bin. I will keep it for future reference if anyone faces the same problem.

  • abunickabhi
    abunickabhi over 4 years
    What does the gcc-snapshot exactly do? How can I remove the previous gcc version (4.8.4) ?
  • CodeGuyRoss
    CodeGuyRoss over 3 years
    remove the sudo and this works within a docker container.
  • CodeGuyRoss
    CodeGuyRoss over 3 years
    @abunickabhi you can change the version of gcc being used with the following command after you run the commands above: update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 --slave /usr/bin/gcov gcov /usr/bin/gcov-6. Also, if you have multiple versions of gcc installed you can switch between them with the following "sudo update-alternatives --config gcc"