Para aproveitar a resposta aceita, se você tiver várias versões do clang, talvez seja de seu interesse tornar clang++ dependente de clang , de modo que tudo que você precisa fazer é atualizar o clang para uma versão diferente e a versão do clang ++ segue o exemplo.
Você pode fazer isso usando a opção --slave de update-alternatives . Então, algo assim:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.9 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.9
Você pode fazer isso para outras versões:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-5.0
Para mudar de versão, basta digitar:
sudo update-alternatives --config clang
Insira uma seleção e os clang e clang++ serão automaticamente alterados para as mesmas versões.
A mesma ideia aplica-se a GCC se também tiver várias versões, pode utilizar este método para configurar gcc e g++ .
Erros:
update-alternatives: error: alternativa clang ++ não pode ser escrava de
clang: é uma alternativa mestra
Você pode obter este erro quando tentar executar os comandos acima. Não se preocupe, significa apenas que você já configurou clang++ como alternativa, então você precisará remover essa alternativa antes que o acima funcione. Você pode fazer isso com o comando:
sudo update-alternatives --remove clang++ /usr/bin/clang++-3.9
Faça isso para cada versão do clang ++, depois de removê-los todos, tente novamente.
Fontes: