He estado intentando durante 3 días instalar clang 5.0 en una máquina Ubuntu 16.04. He probado varias guías , pero nada parece funcionar. Cuando intento simplemente obtener lo último de SVN y compilar / instalar (como se detalla aquí ), intentar compilar un programa simple conduce a:
> clang++ basic.cpp
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
Luego intenté configurar la -DGCC_INSTALL_PREFIX
bandera cmake
antes de construir, pero eso conduce al error aún mejor:
> clang++ basic.cpp
fatal error: 'iostream' file not found
#include <iostream>
Los pasos que he seguido son (de la guía anterior):
> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/ \
-G "Unix Makefiles" path/to/llvm
...
> make
...
> make check-clang
...
> make install-clang
...
¿Podría alguien tratarme como un idiota y explicar paso a paso cómo instalar clang 5.0? ¿O señalarme una guía que incluso los tontos básicos como yo pueden seguir? Si también puede explicar cómo construir e instalar libc ++ para C ++ 17, le estaría eternamente agradecido.
Actualización : Parece que no estoy instalando clang correctamente, ya que este es el resultado de una compilación detallada con clang:
...
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
y esta es la salida para 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
instalado?ii libstdc++-5-dev:amd64 5.4.0-6ubuntu1~16.04.4 amd64 GNU Standard C++ Library v3 (development files)
Respuestas:
Instalar clang-5 desde llvm.org repositores
Primero, debemos agregar los repositorios llvm.org a nuestras listas de fuentes, la línea que debemos agregar es:
Abra nano y agregue la línea anterior a este archivo:
Agregue la clave del repositorio,
apt
podrá verificar los paquetes descargados.Después de eso, actualice sus listas:
Luego instale clang-5:
Deberia de funcionar.
Si desea obtener una lista de todos los paquetes disponibles de este repositorio agregado recientemente:
Te dará una lista como:
Luego puede instalar lo que quiera.
Puede ayudar a su problema de compilación
El archivo de encabezado que se ha mencionado no existe en su error:
stdarg.h
es parte dellibstdc++-5-dev
paquete.Tengo este paquete en mi máquina, así que si ejecuto:
Obtendré:
Entonces parece que instalar el
build-essential
paquete debería resolver este error tuyo, porque no estoy seguro de lo que has hecho.fuente
build-essential
instalado Pero el resultado para miaptitude why libstdc++-5-dev
es exactamente el mismo que el tuyo, excepto que no hay una línea esencial de compilación.