Así que estoy tratando de instalar Halide en mi Ubuntu 12.04 (64 bits). Necesito llvm-3.2 y clang para ser instalado.
La ejecución sudo apt-get install llvm-3.2
termina con 'paquete no encontrado'.
Probar sudo apt-get install llvm
o sudo apt-get install clang
instala versiones 2.9. Google me ayudó con esto
sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update
Ahora sudo apt-get install llvm-3.2 clang-3.2
funciona. Pero cuando ejecuto make en la carpeta Halide, sigo recibiendo clang: Comando no encontrado.
Respuestas:
Ok, así que he realizado con éxito Halide en Ubuntu 13.04 instalando
llvm
,clang
ybuild-essential
. Mi única suposición sobre su problema es que el LLVM o el sonido del PPA que instaló podría no haber funcionado del todo bien. Parece que en realidad es posible obtener LLVM 3.2 de Ubuntu para 12.04, a través de lo que se conoce como el archivo "propuesto". Puede intentar purgar el LLVM que tiene e instalarlo desde "propuesto". Explicaré cómo hacer eso a continuación. Como mencionó que es nuevo en Ubuntu (en la versión original de la pregunta), primero explicaré lo que hace cada comando que ya ha utilizado, lo mejor que puedo.Entonces,
sudo apt-get install llvm-3.2
intenta instalar el paquete nombradollvm-3.2
desde los repositorios actuales habilitados en su sistema. En su caso, no se pudo encontrar, por lo que el comando falló.sudo apt-get install llvm
instaló elllvm
paquete, que probablemente sea un paquete especial que solo utiliza el LLVM más actualizado disponible en sus repositorios estándar. En su caso, eso fue 2.9. La misma idea se aplica asudo apt-get install clang
.sudo add-apt-repository ppa:kxstudio-team/builds
agrega lo que se llama un archivo de paquete personal o PPA a su sistema. Esto le permite obtener más software de otro repositorio o fuente de software. Consulte https://help.launchpad.net/Packaging/PPA para obtener más información. Finalmente,sudo apt-get update
le dice a Ubuntu que obtenga información sobre qué paquetes están disponibles en los repositorios disponibles actualmente. Puede echar un vistazo a http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html para obtener más información sobre la gestión de paquetes en Debian (la mayoría de los cuales deberían aplicarse también a Ubuntu, ya que Ubuntu está basado en Debian).Entonces, los pasos para eliminar los paquetes que tiene e instalar las versiones disponibles de precisa-propuesta:
sudo apt-get purge llvm-3.2 clang-3.2
para eliminar completamente LLVM y clang de su sistema.sudo add-apt-repository --remove ppa:kxstudio-team/builds
para eliminar el PPA de su sistema.llvm-3.2
paquete de Ubuntu , y la segunda evitará que el sistema intente actualizar todo a las versiones propuestas.sudo apt-get update
para obtener información sobre qué paquetes y versiones están disponibles ahora.sudo apt-get install llvm-3.2/precise-proposed
para instalar LLVM 3.2 y utilícelosudo apt-get install clang/precise-proposed
para instalar Clang 3.0 (creo que esa es la versión que debería obtener).sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
que el sistema tratellvm-config-3.2
(que es elllvm-config
que viene conllvm-3.2
) comollvm-config
. Más completamente, esto crea un enlace simbólico (o enlace simbólico) a llvm-config-3.2 en otro lugar donde Ubuntu buscará programas (más información: ln , FHS , PATH ). Por lo tanto, cuando ejecuta "llvm-config", Ubuntu encontrará el enlace simbólico y ejecutará el programa al que apunta (llvm-config-3.2
).Ojalá eso funcione. No he probado nada de esto, así que úselo bajo su propio riesgo, etc. Sin embargo, estoy bastante seguro de que no debería hacer nada terrible.
EDITAR: Tenga en cuenta que
llvm
yllvm-3.2
son independientes.llvm
depende dellvm-2.9
( ver aquí ), mientras quellvm-3.2
es independiente ( ver dependencias aquí )Además, no estoy seguro de saber si se completa la pestaña ; puede ser útil si está buscando un comando pero no conoce el nombre (por ejemplo, en este caso, probablemente habría demostrado que
llvm-config
se llamóllvm-config-3.2
).fuente
llvm
paquete (sudo apt-get purge llvm
) antes de hacerlo para asegurarse de obtener la versión correcta. Siempre puede verificar qué archivo está intentando ejecutar mediante el comandowhich [command]
. Por ejemplo,which llvm-config
debería leer/usr/local/bin/llvm-config
. Ver en.wikipedia.org/wiki/Which_%28Unix%29 para más información.llvm
paquete para Ubuntu 12.04 erallvm-2.9
, elllvm-config
comando se ha vinculado a lallvm-config
de la misma versión, es decir,llvm-config-2.9
. En Ubuntu 13.04 y 13.10, elllvm
paquete instala LLVM 3.2, y esperaría que luego se configurarallvm-config-3.2
comollvm-config
lo hace en Ubuntu 13.10.