HomeBlogMagic

Install alternate GCC

Für mein Linux BuildSystem habe ich verschiedene Versionen des GCC in Ubuntu benötigt.

Einige Projekte, wie z.B. CcOS, müssen kompatibel mit den verschiedenen GCC Versionen sein die per default (/usr/sbin/gcc) auf dem System sind.

Dazu kann man verschiedene Kompiler Versionen installieren und mit update alternatives die Versionen durch wechseln.

Ein Befehl zum installieren von alternativen gcc`s in Ubuntu: (https://gist.github.com/application2000/73fd6f4bf1be6600a2cf9f56315a2d91)

sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

Der Befehl zum wechseln der configs:

sudo update-alternatives --config gcc

Die Lösung funktioniert bei mir wunderbar, kann sich aber auch ändern wenn die Versionen nicht mehr stimmen oder die Repositories geändert wurden.
Benutzt die Befehle also bitte mit bedacht.

Nachtrag für schon existierende gcc versionen 9 und 11

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 20

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++
Permalink: https://adirmeier.de/Blog/ID_183
Tags: Blog, gcc, Linux, toolchain, ubuntuvon am 2018-01-13