Defina clang-3.8 como padrão

11

Eu instalei o clang 3.0 e o 3.8:

$ sudo update-alternatives --config clang

update-alternative: error: nenhuma alternativa para clang.

Como posso definir 3,8 como /usr/bin/clang?

Andrew
fonte
Faça um ou mais clang entradas / etc / alternatives /: sudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000, como neste exemplo java askubuntu.com/questions/56104/...
Knud Larsen
Na verdade, o nome é 'cc'. Então você precisa emitir: sudo update-alternative --config cc
duli

Respostas:

23
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100
Andrew
fonte
Eu estava seguindo outro exemplo que usou '60' para representar '6.0' e, em --slavevez de regras independentes - quais são seus pensamentos? update-alternativesnão parece estar fazendo muito mais do que encadear links simbólicos, mas não o usei o suficiente para saber o que pode dar errado.
John P
Obrigado pela resposta. O que significa 100no final?
banarun
O '100' é um número de prioridade arbitrário; o aplicativo com o número de prioridade mais alta será usado automaticamente, a menos que você especifique o contrário. Por exemplo, meu sistema mostra gcccom uma prioridade de 20 e clangcom uma prioridade de 10; no modo automático, update-alternativesseleciona gcc. Eu poderia correr o acima com uma prioridade de 50 e seria definir a preferência auto de clang-3.8acima ambas as opções existentes
ArcLight
1

Experimentar:

sudo update-alternatives --config cc

E apresentará a lista de opções para você escolher.

O utilitário make usa o comando cc para compilar, que na verdade é um link para o gcc, clang etc.

duli
fonte
1
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8   81 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-8    --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-8.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-8  --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-8
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 60 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-6.0  --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-6.0.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-6.0 --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-6.0

Esses comandos adicionarão 2 entradas e o padrão selecionado como clang-8. Você pode configurar usando

sudo update-alternatives --config clang

Isso atualizará clang, clang ++, páginas de manual, formato de clang, clang-tidy.

lxkarthi
fonte