Ok, so Halide auf Ubuntu 13.04 ich erfolgreich durch die Installation zusammengestellt llvm
, clang
und build-essential
. Ich vermute nur, dass die von Ihnen installierte LLVM oder das Klirren der PPA möglicherweise nicht richtig funktioniert hat. Es scheint tatsächlich möglich zu sein, LLVM 3.2 von Ubuntu für 12.04 über das sogenannte "vorgeschlagene" Archiv zu beziehen. Sie können versuchen, die vorhandene LLVM zu löschen und sie von "vorgeschlagen" zu installieren. Wie das geht, erkläre ich weiter unten. Da du erwähnt hast, dass du neu in Ubuntu bist (in der ursprünglichen Version der Frage), erkläre ich zuerst, was jeder Befehl, den du bereits benutzt hast, so gut ich kann.
So sudo apt-get install llvm-3.2
versucht das Paket mit dem Namen zu installieren llvm-3.2
aus den aktuellen Repositories aktiviert auf Ihrem System. In Ihrem Fall konnte es nicht gefunden werden, daher ist der Befehl fehlgeschlagen. sudo apt-get install llvm
hat das llvm
Paket installiert , bei dem es sich wahrscheinlich um ein spezielles Paket handelt, das nur die aktuellste LLVM verwendet, die in Ihren Standard-Repositorys verfügbar ist. In Ihrem Fall war das 2.9. Gleiches gilt für sudo apt-get install clang
. Fügt Ihrem System sudo add-apt-repository ppa:kxstudio-team/builds
ein sogenanntes persönliches Paketarchiv oder PPA hinzu. Auf diese Weise können Sie mehr Software aus einem anderen Repository oder einer anderen Softwarequelle beziehen. Weitere Informationen finden Sie unter https://help.launchpad.net/Packaging/PPA . Schließlich,sudo apt-get update
Weist Ubuntu an, Informationen darüber zu erhalten, welche Pakete in den derzeit verfügbaren Repositorys verfügbar sind. Weitere Informationen zur Paketverwaltung in Debian finden Sie unter http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html (die meisten davon sollten auch für Ubuntu gelten). da Ubuntu auf Debian basiert).
Also, die Schritte, um die Pakete zu entfernen, die Sie haben, und die verfügbaren Versionen von präzise vorgeschlagen:
- Verwenden Sie
sudo apt-get purge llvm-3.2 clang-3.2
diese Option, um LLVM vollständig zu entfernen und von Ihrem System zu entfernen.
- (Optional) Verwenden Sie diese Option
sudo add-apt-repository --remove ppa:kxstudio-team/builds
, um die PPA von Ihrem System zu entfernen.
- Befolgen Sie die Anweisungen unter https://wiki.ubuntu.com/Testing/EnableProposed , um das vorgeschlagene Archiv (ganz oben auf der Seite) zu aktivieren, und folgen Sie den Anweisungen für "Selektives Upgrade von -proposed". Der erste Teil aktiviert die aktuelle Ubuntu-Version des
llvm-3.2
Pakets und der zweite Teil verhindert, dass das System versucht, ein Upgrade auf die vorgeschlagenen Versionen durchzuführen.
- Verwenden Sie
sudo apt-get update
diese Option , um Informationen darüber abzurufen, welche Pakete und Versionen jetzt verfügbar sind.
- Verwenden Sie
sudo apt-get install llvm-3.2/precise-proposed
, um LLVM 3.2 zu installieren, und sudo apt-get install clang/precise-proposed
, um Clang 3.0 zu installieren (ich denke, das ist die Version, die Sie bekommen sollten).
- NEUER SCHRITT: Lassen Sie
sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
das System so behandeln llvm-config-3.2
(wie es llvm-config
mitgeliefert wurde llvm-3.2
) llvm-config
. Genauer gesagt , erzeugt dies einen symbolischen Link (oder Symlink) zu llvm-config-3.2 an einer anderen Stelle, an der Ubuntu nach Programmen sucht (weitere Informationen: ln , FHS , PATH ). Wenn Sie also "llvm-config" ausführen, findet Ubuntu den Symlink und führt das Programm aus, auf das es zeigt ( llvm-config-3.2
).
- Überprüfen Sie, ob jetzt alles korrekt kompiliert wird.
Hoffentlich klappt das. Ich habe nichts davon getestet, also benutze es auf eigenes Risiko usw. Ich bin mir jedoch ziemlich sicher, dass es nichts Schlimmes tun sollte.
EDIT: Beachten Sie, dass llvm
und llvm-3.2
unabhängig sind. llvm
hängt ab von llvm-2.9
( siehe hier ), während llvm-3.2
ist separat ( siehe Abhängigkeiten hier )
Ich bin mir auch nicht sicher, ob Sie über das Ausfüllen von Registerkarten Bescheid wissen . Dies kann hilfreich sein, wenn Sie nach einem Befehl suchen, den Namen jedoch nicht genau kennen (in diesem Fall hätte sich beispielsweise wahrscheinlich gezeigt, dass der Befehl llvm-config
aufgerufen wurde llvm-config-3.2
).