Ok, więc z powodzeniem skompilowałem Halide na Ubuntu 13.04, instalując llvm
,clang
oraz build-essential
. Zgaduję tylko, że Twój problem polega na tym, że LLVM lub kliknięcie z zainstalowanego PPA mogło nie działać całkiem dobrze. Wygląda na to, że rzeczywiście można pobrać LLVM 3.2 z Ubuntu dla 12.04, za pośrednictwem tak zwanego „proponowanego” archiwum. Możesz spróbować wyczyścić LLVM i zainstalować go z „proponowanego”. Wyjaśnię, jak to zrobić poniżej. Ponieważ wspomniałeś, że jesteś nowy w Ubuntu (w oryginalnej wersji pytania), najpierw wyjaśnię, co robi każde użyte polecenie, najlepiej jak potrafię.
Więc sudo apt-get install llvm-3.2
próbuje zainstalować pakiet o nazwie llvm-3.2
z obecnych składowisk włączona w systemie. W twoim przypadku nie można go znaleźć, więc polecenie nie powiodło się. sudo apt-get install llvm
zainstalowałem llvm
pakiet, który jest prawdopodobnie pakietem specjalnym, który korzysta z najnowszej wersji LLVM dostępnej w standardowych repozytoriach. W twoim przypadku było to 2,9. Ten sam pomysł dotyczy sudo apt-get install clang
. sudo add-apt-repository ppa:kxstudio-team/builds
dodaje do systemu tak zwane osobiste archiwum pakietów lub PPA. Pozwala to uzyskać więcej oprogramowania z innego repozytorium lub źródła oprogramowania. Aby uzyskać więcej informacji, zobacz https://help.launchpad.net/Packaging/PPA . Wreszcie,sudo apt-get update
informuje Ubuntu, aby uzyskał informacje na temat pakietów dostępnych w aktualnie dostępnych repozytoriach. Możesz spojrzeć na http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html, aby uzyskać więcej informacji na temat zarządzania pakietami w Debianie (z których większość powinna dotyczyć również Ubuntu, ponieważ Ubuntu opiera się na Debianie).
Tak więc kroki, aby usunąć posiadane pakiety i zainstalować dostępne wersje z precyzyjnie zaproponowanych:
- Służy
sudo apt-get purge llvm-3.2 clang-3.2
do całkowitego usunięcia LLVM i brzęknięcia z systemu.
- (Opcjonalnie) Użyj,
sudo add-apt-repository --remove ppa:kxstudio-team/builds
aby usunąć PPA z systemu.
- Postępuj zgodnie z instrukcjami na https://wiki.ubuntu.com/Testing/EnableProposed, aby włączyć Proponowane archiwum (bezpośrednio u góry strony), a także postępuj zgodnie z instrukcjami dla „Selektywnej aktualizacji z -proposed”. Pierwsza część pozwoli na faktyczną wersję Ubuntu
llvm-3.2
pakietu , a druga powstrzyma system przed próbą uaktualnienia wszystkiego do Proponowanych wersji.
- Służy
sudo apt-get update
do pobierania informacji o dostępnych pakietach i wersjach.
- Użyj,
sudo apt-get install llvm-3.2/precise-proposed
aby zainstalować LLVM 3.2, i użyj, sudo apt-get install clang/precise-proposed
aby zainstalować Clang 3.0 (myślę, że to jest wersja, którą powinieneś dostać).
- Nowy etap: Do
sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
aby smakołyk systemu llvm-config-3.2
(który jest llvm-config
, który przyszedł z llvm-3.2
) jako llvm-config
. Mówiąc dokładniej, tworzy to symboliczne łącze (lub dowiązanie symboliczne) do llvm-config-3.2 w innym miejscu, w którym Ubuntu będzie szukał programów (więcej informacji: ln , FHS , PATH ). Dlatego po uruchomieniu „llvm-config” Ubuntu znajdzie dowiązanie symboliczne i uruchomi program, na który wskazuje ( llvm-config-3.2
).
- Sprawdź, czy teraz wszystko się poprawnie kompiluje.
Mam nadzieję, że to działa. Nie testowałem tego, więc używaj na własne ryzyko itp. Jestem jednak pewien, że nie powinno to robić nic strasznego.
EDYCJA: Zauważ, że llvm
i llvm-3.2
są niezależne. llvm
zależy od llvm-2.9
( patrz tutaj ), podczas gdy llvm-3.2
jest osobny ( patrz zależności tutaj )
Nie jestem też pewien, czy wiesz o uzupełnianiu tabulatorów ; może to być pomocne, jeśli szukasz polecenia, ale nie znasz jego nazwy (na przykład w tym przypadku prawdopodobnie pokazałoby, że llvm-config
zostało wywołane llvm-config-3.2
).