33 votes

clang et clang++ introuvables après l'installation du paquet clang-3.5

Après l'installation du clang-3.5 paquet, dactylographie clang ou clang++ sur la ligne de commande me donne un message indiquant dans quels paquets se trouvent ces programmes. En essayant de lancer l'installation de clang-3.5 Encore une fois, apt indique qu'il est déjà installé et qu'il est à la dernière version.

L'installation originale a été faite avec la commande :

sudo apt-get install clang-3.5 llvm

build-essential a été installé précédemment.

Des idées sur ce qui a pu se passer ?

34voto

Johan Wendin Points 341

Il existe, mais il s'appelle toujours clang-3.5.

Vous pouvez l'exécuter en tant que clang-3.5 (ou clang++-3.5 ) ou créer un lien symbolique vers lui comme je l'ai fait (l'installation de clang normal n'a pas fonctionné) :

sudo ln -s /usr/bin/clang-3.5 /usr/bin/clang
sudo ln -s /usr/bin/clang++-3.5 /usr/bin/clang++

Il s'agit peut-être d'une solution de contournement peu glorieuse, mais au moins elle fonctionne pour l'instant :)

15voto

Ian Storm Taylor Points 1883

La bonne façon d'utiliser clang par défaut cc et c++ est d'utiliser update-alternatives :

Il est possible que plusieurs programmes remplissant des fonctions identiques ou similaires soient installés simultanément sur un même système. Par exemple, plusieurs éditeurs de texte sont installés simultanément sur de nombreux systèmes. Cela donne le choix aux utilisateurs d'un système, permettant à chacun d'utiliser un éditeur différent, s'il le souhaite, mais il est difficile pour un programme de choisir correctement l'éditeur à invoquer si l'utilisateur n'a pas spécifié une préférence particulière.

Il faut donc d'abord ajouter clang-3.5 ou clang++-3.5 comme alternative à, par exemple gcc et g++ :

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.5 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100

Si, à un moment ou à un autre, vous devez revenir à l'option gcc ou g++ vous pouvez utiliser le --config option :

sudo update-alternatives --config c++

9voto

tisch Points 199

Sur Ubuntu 15.04, vous pouvez également installer le paquet clang avec le paquet clang-x.x. Vous pouvez alors taper clang++ et l'exécutable correspondant devrait être trouvé.

sudo apt-get install clang

6voto

Taylor Gibb Points 2579

En complément de la réponse de Yan Foto (et juste au cas où votre objectif serait d'obtenir une image utilisable), il est possible d'obtenir une image de qualité. clang mais pas nécessairement l'utiliser comme cc ), vous pouvez ajouter l'ensemble des programmes en une seule fois en utilisant la fonction

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-3.8 \
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-3.8 \
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-3.8

(Notez que l'ensemble des binaires fournis avec chaque version de clang peut différer, par exemple la version 3.6 dispose de clang-tblgen 3.8 ne le fait pas.)

Si vous répétez cela pour chaque version de clang que vous installez, vous serez en mesure de passer de l'une à l'autre en utilisant un simple update-alternatives commande.

(Entre-temps, apparemment, un débat est toujours en cours sur la question de savoir s'il faut ou non inclure ces liens dans les paquets Ubuntu : https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493 )

2voto

Bl00dh0und Points 121

Cela devrait définir les alternatives de mise à jour pour clang- 4.0 si clang- 3.8 (comme sur Ubuntu 16.04) est installé :

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 100
sudo update-alternatives --install /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-4.0 100
sudo update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-4.0 100
sudo update-alternatives --install /usr/bin/clang-query clang-query /usr/bin/clang-query-4.0 100
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-4.0 100
sudo update-alternatives --install /usr/bin/scan-build scan-build /usr/bin/scan-build-4.0 100
sudo update-alternatives --install /usr/bin/scan-view scan-view /usr/bin/scan-view-4.0 100

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X