Ok, 우분투 13.04 llvm
에서 clang
, 및 을 설치하여 Halide를 성공적으로 컴파일했습니다 build-essential
. 귀하의 문제에 대한 유일한 추측은 설치된 PPA의 LLVM 또는 clang이 제대로 작동하지 않았을 것입니다. 실제로 "제안 된"아카이브를 통해 12.04의 Ubuntu에서 LLVM 3.2를 얻을 수있는 것 같습니다. LLVM을 제거하고 "제안"에서 설치하려고 할 수 있습니다. 아래에 그 방법을 설명하겠습니다. Ubuntu를 처음 사용한다고 언급 했으므로 (원래 질문 버전) 먼저 먼저 사용했던 각 명령이 최선을 다해 설명합니다.
따라서 시스템에서 사용 가능한 현재 저장소 에서 sudo apt-get install llvm-3.2
이름 지정된 패키지를 설치하려고 시도 합니다. 귀하의 경우에는 찾을 수 없으므로 명령이 실패했습니다. 설치된 단지는 표준 저장소에서 사용할 수있는 최신 LLVM을 사용하는 아마 특별한 패키지 패키지를. 귀하의 경우에는 2.9입니다. 동일한 아이디어가에 적용됩니다 .
불리는 무슨 추가 개인 패키지 아카이브 시스템 또는 PPA를. 이를 통해 다른 저장소 또는 소프트웨어 소스 에서 더 많은 소프트웨어를 얻을 수 있습니다 . 자세한 내용은 https://help.launchpad.net/Packaging/PPA 를 참조 하십시오 . 드디어,llvm-3.2
sudo apt-get install llvm
llvm
sudo apt-get install clang
sudo add-apt-repository ppa:kxstudio-team/builds
sudo apt-get update
현재 사용 가능한 리포지토리에서 사용 가능한 패키지에 대한 정보를 Ubuntu에 알립니다. 데비안의 패키지 관리에 대한 자세한 내용 은 http://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html 을 참조 하십시오 (대부분 우분투에도 적용되어야 함) 우분투는 데비안 기반이기 때문에).
따라서 패키지를 제거하고 정확한 제안에서 사용 가능한 버전을 설치하는 단계 :
sudo apt-get purge llvm-3.2 clang-3.2
시스템에서 LLVM 및 clang을 완전히 제거하는 데 사용하십시오 .
- (선택 사항)
sudo add-apt-repository --remove ppa:kxstudio-team/builds
시스템에서 PPA를 제거하는 데 사용 합니다.
- 제안 된 아카이브를 활성화하려면 https://wiki.ubuntu.com/Testing/EnableProposed 의 지침을 따르십시오 (페이지 상단 오른쪽). 첫 번째 부분은
llvm-3.2
패키지 의 실제 Ubuntu 버전을 활성화하고 두 번째 부분은 시스템이 모든 것을 제안 된 버전으로 업그레이드하지 못하게합니다.
sudo apt-get update
현재 사용 가능한 패키지 및 버전에 대한 정보를 가져 오는 데 사용하십시오 .
sudo apt-get install llvm-3.2/precise-proposed
LLVM 3.2 sudo apt-get install clang/precise-proposed
를 설치 하는 데 사용 하고 Clang 3.0을 설치 하는 데 사용하십시오 (필자가 가지고있는 버전이라고 생각합니다).
- NEW 단계 : 음주
sudo ln -s /usr/bin/llvm-config-3.2 /usr/local/bin/llvm-config
시스템 치료로 만들려면 llvm-config-3.2
합니다 (어느 llvm-config
와 함께 제공된 llvm-3.2
로) llvm-config
. 더 완벽하게, 이것은 우분투가 프로그램을 찾을 다른 장소에 llvm-config-3.2에 대한 심볼릭 링크 (또는 symlink)를 만듭니다 (추가 정보 : ln , FHS , PATH ). 따라서 "llvm-config"를 실행하면 Ubuntu가 symlink를 찾고 ( llvm-config-3.2
)를 가리키는 프로그램을 실행합니다 .
- 이제 모든 것이 올바르게 컴파일되는지 확인하십시오.
잘하면 잘 작동합니다. 나는 이것의 어떤 것도 시험하지 않았으므로, 당신의 자신의 위험 등으로 사용하십시오. 그러나 나는 그것이 끔찍한 일을해서는 안된다고 확신합니다.
편집 : 하는 것으로 llvm
하고 llvm-3.2
독립적이다. llvm
에 의존하지만 llvm-2.9
( 여기 참조 ), llvm-3.2
별개입니다 ( 여기에 의존 참조 )
또한 탭 완성 에 대해 알고 있는지 확실하지 않습니다 . 명령을 찾고 있지만 이름을 모르는 경우 도움이 될 수 있습니다 (예를 들어,이 이름 llvm-config
은이라고 표시되었을 수 있음 llvm-config-3.2
).