J'essaie depuis 3 jours d'installer clang 5.0 sur une machine Ubuntu 16.04. J'ai essayé différents guides , mais rien ne semble fonctionner. Lorsque j'essaye simplement de récupérer la dernière version de SVN et de construire / installer (comme détaillé ici ), essayer de compiler un programme simple conduit à:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
J'ai ensuite essayé de définir le -DGCC_INSTALL_PREFIX
drapeau cmake
avant de construire, mais cela conduit à une erreur encore meilleure:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
Les étapes que j'ai suivies sont (du guide ci-dessus):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
Quelqu'un pourrait-il me traiter comme un idiot et expliquer étape par étape comment installer clang 5.0? Ou me diriger vers un guide que même les imbéciles de base comme moi peuvent suivre? Si vous pouvez également expliquer comment construire et installer libc ++ pour C ++ 17, je vous en serais éternellement reconnaissant.
Mise à jour : Il semble que je n'installe pas correctement clang, car c'est la sortie d'une compilation détaillée avec clang:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
et voici la sortie pour g ++:
#include <...> search starts here:
/usr/include/c++/5
/usr/include/x86_64-linux-gnu/c++/5
/usr/include/c++/5/backward
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
...
dpkg -l libstdc++-5-dev | tail -1
build-essential
installé?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Réponses:
Installer clang-5 à partir des référentiels llvm.org
Tout d'abord, nous devons ajouter les dépôts llvm.org à nos listes de sources, la ligne que nous devons ajouter est:
Ouvrez nano et ajoutez la ligne ci-dessus à ce fichier:
Ajoutez la clé du référentiel, cela permettra
apt
de vérifier les packages téléchargés.Après cela, mettez à jour vos listes:
Installez ensuite clang-5:
Ça devrait marcher.
Si vous souhaitez obtenir une liste de tous les packages disponibles à partir de ce référentiel nouvellement ajouté:
Il vous donnera une liste comme:
Vous pouvez ensuite installer ce que vous voulez.
Cela peut aider votre problème de compilation
Le fichier d'en-tête qui a été mentionné n'existe pas dans votre erreur:
stdarg.h
fait partie dulibstdc++-5-dev
package.J'ai ce package sur ma machine, donc si je lance:
J'aurai:
Il semble donc que l'installation du
build-essential
package devrait résoudre cette erreur, car je ne suis pas sûr de ce que vous avez fait.la source
build-essential
installé. Mais la sortie de myaptitude why libstdc++-5-dev
est exactement la même que la vôtre, sauf qu'il n'y a pas de ligne essentielle à la construction.