📅 2015-Feb-26 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ gcc, update-alternatives ⬩ 📚 Archive
Multiple versions of GCC can be installed and used on Ubuntu as described here. The update-alternatives
tool makes it easy to switch between multiple versions of GCC.
On Ubuntu, gcc
and g++
are just symbolic links to the actual binaries of a specific version of GCC. By switching the version, invoking gcc
will execute the particular version of the compiler binary that you wish. You can make any of these version as the default at any time effortlessly.
As an example, I had installed GCC version 4.8 from the Ubuntu repositories. This was the default version of GCC, so gcc
was a symlink to gcc-4.8
binary. Wanting to use some new C++11 features I installed version 4.9 of GCC. This compiler can be invoked using gcc-4.9
. I now want to switch the default gcc
to invoke gcc-4.9
. I also want the freedom to switch back 4.8 as the default whenever I want. You can switch the symlinks yourself manually, but using this tool makes it easy and clean.
Let us begin:
Decide which set of symbolic links you want to group together as one unit. I like to switch /usr/bin/gcc
and /usr/bin/g++
together.
Pass update-alternatives
the first version of these symbolic links. Here I will inform about the 4.8 version of these tools and links:
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
Here, we have provided the gcc
as the master and g++
as slave. Multiple slaves can be appended along with master. When master symbolic link is changed, the slaves will be changed too.
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
$ sudo update-alternatives --config gcc
Tried with: Ubuntu 14.04