J'essaie donc d'installer Halide sur mon Ubuntu 12.04 (64 bits). J'ai besoin de llvm-3.2 et clang pour être installé.
L'exécution sudo apt-get install llvm-3.2
se termine par «package introuvable».
Essayer sudo apt-get install llvm
ou sudo apt-get install clang
installer des versions 2.9. Google m'a aidé avec ça
sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update
Maintenant, ça sudo apt-get install llvm-3.2 clang-3.2
marche. Mais quand je lance make dans le dossier Halide, je reçois toujours clang: Command not found.
Réponses:
Ok, donc je Halide compilé sur Ubuntu 13.04 avec succès en installant
llvm
,clang
etbuild-essential
. Ma seule supposition quant à votre problème est que le LLVM ou le clang du PPA que vous avez installé n'a peut-être pas fonctionné correctement. Il semble qu'il soit réellement possible d'obtenir LLVM 3.2 d'Ubuntu pour 12.04, via ce que l'on appelle l'archive "proposée". Vous pouvez essayer de purger le LLVM que vous avez et de l'installer à partir de "proposé". Je vais vous expliquer comment faire cela ci-dessous. Puisque vous avez mentionné que vous êtes nouveau sur Ubuntu (dans la version originale de la question), je vais d'abord expliquer ce que fait chaque commande que vous avez déjà utilisée, du mieux que je peux.Donc,
sudo apt-get install llvm-3.2
tente d'installer le package nommé àllvm-3.2
partir des référentiels actuels activés sur votre système. Dans votre cas, il est introuvable, la commande a donc échoué.sudo apt-get install llvm
installé lellvm
package, qui est probablement un package spécial qui utilise uniquement le LLVM le plus récent disponible dans vos référentiels standard. Dans votre cas, c'était 2,9. La même idée s'applique àsudo apt-get install clang
.sudo add-apt-repository ppa:kxstudio-team/builds
ajoute ce que l'on appelle une archive de package personnelle ou PPA à votre système. Cela vous permet d'obtenir plus de logiciels à partir d'un autre référentiel ou d'une source logicielle. Voir https://help.launchpad.net/Packaging/PPA pour plus d'informations. Finalement,sudo apt-get update
indique à Ubuntu d'obtenir des informations sur les packages disponibles dans les référentiels actuellement disponibles. Vous pouvez consulter http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html pour plus d'informations sur la gestion des paquets dans Debian (dont la plupart devraient également s'appliquer à Ubuntu, depuis Ubuntu est basé sur Debian).Ainsi, les étapes pour supprimer les packages que vous avez et installer les versions disponibles de precise-propose:
sudo apt-get purge llvm-3.2 clang-3.2
pour supprimer complètement LLVM et clang de votre système.sudo add-apt-repository --remove ppa:kxstudio-team/builds
pour supprimer le PPA de votre système.llvm-3.2
package, et la seconde empêchera le système d'essayer de tout mettre à niveau vers les versions proposées.sudo apt-get update
pour extraire les informations sur les packages et les versions disponibles.sudo apt-get install llvm-3.2/precise-proposed
pour installer LLVM 3.2, et utilisezsudo apt-get install clang/precise-proposed
pour installer Clang 3.0 (je pense que c'est la version que vous devriez obtenir).sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
pour que le système traitellvm-config-3.2
(qui estllvm-config
fourni avecllvm-3.2
) commellvm-config
. Plus complètement, cela crée un lien symbolique (ou lien symbolique) vers llvm-config-3.2 dans un autre endroit où Ubuntu recherchera des programmes (plus d'informations: ln , FHS , PATH ). Ainsi, lorsque vous exécutez "llvm-config", Ubuntu trouvera le lien symbolique et exécutera le programme vers lequel il pointe (llvm-config-3.2
).J'espère que cela fonctionne. Je n'ai testé rien de tout cela, donc utilisez-le à vos risques et périls, etc. Je suis sûr, cependant, que cela ne devrait rien faire de terrible.
EDIT: Notez que
llvm
etllvm-3.2
sont indépendants.llvm
dépend dellvm-2.9
( voir ici ), tandis quellvm-3.2
est séparé ( voir dépendances ici )De plus, je ne sais pas si vous connaissez la complétion des onglets ; cela peut être utile si vous recherchez une commande mais que vous ne connaissez pas très bien le nom (par exemple, dans ce cas, cela aurait probablement montré qu'elle a
llvm-config
été appeléellvm-config-3.2
).la source
llvm
package (sudo apt-get purge llvm
) avant de le faire pour vous assurer d'obtenir la bonne version. Vous pouvez toujours vérifier ce fichier que vous essayez d'exécuter en utilisant la commandewhich [command]
. Par exemple,which llvm-config
devrait lire/usr/local/bin/llvm-config
. Voir en.wikipedia.org/wiki/Which_%28Unix%29 pour plus d'informations.llvm
package pour Ubuntu 12.04 l'étaitllvm-2.9
, lallvm-config
commande était liée àllvm-config
la même version, c'est-à-direllvm-config-2.9
. Dans Ubuntu 13.04 et 13.10, lellvm
package installe LLVM 3.2, et je m'attendrais à ce qu'il soit ensuite configuré enllvm-config-3.2
tant quellvm-config
, ce qu'il fait dans Ubuntu 13.10.