Então, eu estou tentando instalar o Halide no meu Ubuntu 12.04 (64bit). Eu preciso do llvm-3.2 e clang para ser instalado.
A execução sudo apt-get install llvm-3.2
termina com 'pacote não encontrado'.
Tentando sudo apt-get install llvm
ou sudo apt-get install clang
instala 2.9 versões. O Google me ajudou com isso
sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update
Agora sudo apt-get install llvm-3.2 clang-3.2
funciona. Mas, quando executo o make na pasta Halide, ainda recebo clang: Comando não encontrado.
Respostas:
Ok, então eu compilado com sucesso Halide no Ubuntu 13.04, instalando
llvm
,clang
ebuild-essential
. Meu único palpite quanto ao seu problema é que o LLVM ou o clang do PPA que você instalou pode não ter funcionado corretamente. Parece que é realmente possível obter o LLVM 3.2 do Ubuntu para 12.04, através do que é conhecido como arquivo "proposto". Você pode tentar limpar o LLVM que você possui e instalá-lo de "proposto". Vou explicar como fazer isso abaixo. Como você mencionou que é novo no Ubuntu (na versão original da pergunta), primeiro explicarei o que cada comando que você já usou faz, da melhor maneira possível.Portanto,
sudo apt-get install llvm-3.2
tenta instalar o pacote nomeado allvm-3.2
partir dos repositórios atuais ativados no seu sistema. No seu caso, não foi possível encontrar, portanto, o comando falhou.sudo apt-get install llvm
instalou ollvm
pacote, que provavelmente é um pacote especial que apenas usa o LLVM mais atualizado disponível em seus repositórios padrão. No seu caso, isso foi 2,9. A mesma idéia se aplica asudo apt-get install clang
.sudo add-apt-repository ppa:kxstudio-team/builds
adiciona o que é chamado de arquivo de pacote pessoal ou PPA ao seu sistema. Isso permite que você obtenha mais software de outro repositório ou fonte de software. Consulte https://help.launchpad.net/Packaging/PPA para obter mais informações. Finalmente,sudo apt-get update
diz ao Ubuntu para obter informações sobre quais pacotes estão disponíveis nos repositórios atualmente disponíveis. Você pode dar uma olhada em http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html para obter mais informações sobre gerenciamento de pacotes no Debian (a maioria também deve se aplicar ao Ubuntu, já que o Ubuntu é baseado no Debian).Portanto, as etapas para remover os pacotes que você possui e instalar as versões disponíveis da proposta precisa:
sudo apt-get purge llvm-3.2 clang-3.2
para remover completamente o LLVM e clang do seu sistema.sudo add-apt-repository --remove ppa:kxstudio-team/builds
para remover o PPA do seu sistema.llvm-3.2
pacote do Ubuntu e a segunda impedirá que o sistema tente atualizar tudo para as versões propostas.sudo apt-get update
para obter informações sobre quais pacotes e versões estão disponíveis agora.sudo apt-get install llvm-3.2/precise-proposed
para instalar o LLVM 3.2 e usesudo apt-get install clang/precise-proposed
para instalar o Clang 3.0 (acho que essa é a versão que você deve obter).sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
para tratar o sistemallvm-config-3.2
(que é ollvm-config
que veio comllvm-3.2
) comollvm-config
. Mais completamente, isso cria um link simbólico (ou link simbólico) para o llvm-config-3.2 em outro local onde o Ubuntu procurará programas (mais informações: ln , FHS , PATH ). Assim, quando você executa "llvm-config", o Ubuntu encontra o link simbólico e executa o programa para o qual aponta (llvm-config-3.2
).Espero que funcione. Eu não testei nada disso, então use por seu próprio risco, etc. Tenho certeza, no entanto, de que não deve fazer nada de terrível.
EDIT: Observe que
llvm
ellvm-3.2
são independentes.llvm
dependellvm-2.9
( veja aqui ), enquantollvm-3.2
está separado ( veja dependências aqui )Além disso, não tenho certeza se você sabe sobre o preenchimento de guias ; pode ser útil se você estiver procurando por um comando, mas não souber o nome (por exemplo, nesse caso, provavelmente teria mostrado que
llvm-config
foi chamadollvm-config-3.2
).fonte
llvm
pacote (sudo apt-get purge llvm
) antes de fazer isso para garantir a versão correta. Você sempre pode verificar o arquivo que você está tentando executar usando o comandowhich [command]
. Por exemplo,which llvm-config
deve ler/usr/local/bin/llvm-config
. Veja en.wikipedia.org/wiki/Which_%28Unix%29 para mais informações.llvm
pacote para Ubuntu 12.04 erallvm-2.9
, ollvm-config
comando estava vinculado aollvm-config
da mesma versão, ou sejallvm-config-2.9
,. No Ubuntu 13.04 e 13.10, ollvm
pacote instala o LLVM 3.2, e eu esperaria que ele fosse configuradollvm-config-3.2
como ollvm-config
que faz no Ubuntu 13.10.