さて、、、およびをインストールしてllvm
、Ubuntu 13.04でHalideを正常にコンパイルclang
しましたbuild-essential
。あなたの問題に関する私の唯一の推測は、インストールしたPPAのLLVMまたはclangが正しく機能しなかった可能性があることです。「提案された」アーカイブとして知られているものを介して、12.04のUbuntuからLLVM 3.2を実際に入手することが可能だと思われます。持っているLLVMをパージし、「proposed」からインストールしてみてください。以下にその方法を説明します。(元の質問バージョンで)Ubuntuが初めてだと言ったので、最初に、すでに使用した各コマンドが何をするのか、できる限り説明します。
そのsudo apt-get install llvm-3.2
ため、システムで有効になってllvm-3.2
いる現在のリポジトリから名前が付けられたパッケージをインストールしようとします。あなたの場合、それが見つからなかったため、コマンドは失敗しました。パッケージをsudo apt-get install llvm
インストールしましたllvm
。これはおそらく、標準リポジトリで利用可能な最新のLLVMを使用する特別なパッケージです。あなたの場合、それは2.9でした。同じ考えがにも当てはまりますsudo apt-get install clang
。パーソナルパッケージアーカイブまたはPPA sudo add-apt-repository ppa:kxstudio-team/builds
と呼ばれるものをシステムに追加します。これにより、別のリポジトリまたはソフトウェアソースからより多くのソフトウェアを取得できます。詳細については、https://help.launchpad.net/Packaging/PPAを参照してください。最後に、sudo apt-get update
現在利用可能なリポジトリから利用可能なパッケージに関する情報を取得するようUbuntuに指示します。Debianでのパッケージ管理の詳細については、http: //www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.htmlをご覧ください(そのほとんどはUbuntuにも当てはまりますが、 UbuntuはDebianに基づいているため)。
したがって、持っているパッケージを削除し、excise-proposedから利用可能なバージョンをインストールする手順は次のとおりです。
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の手順に従ってProposedアーカイブ(ページの右上)を有効にし、「-proposedからの選択的アップグレード」の手順に従ってください。最初の部分は
llvm-3.2
パッケージの実際のUbuntuバージョンを有効にし、2番目の部分はシステムが提案されたバージョンにすべてをアップグレードしようとするのを防ぎます。
- 使用
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 STEP: Doが
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
。より完全に、これはUbuntuがプログラムを探す別の場所でllvm-config-3.2へのシンボリックリンク(またはシンボリックリンク)を作成します(詳細:ln、FHS、PATH)。したがって、「llvm-config」を実行すると、Ubuntuはシンボリックリンクを見つけて、それが指すプログラムを実行します(llvm-config-3.2
)。
- すべてが正しくコンパイルされるかどうかを確認してください。
うまくいけばうまくいく。私はこれのいずれもテストしていませんので、あなた自身の責任で使用してください。
編集:llvm
とllvm-3.2
は独立していることに注意してください。llvm
依存llvm-2.9
(ここを参照)、一方llvm-3.2
、独立(ここで依存を参照)
また、タブ補完について知っているかどうかもわかりません。コマンドを探しているが、名前がよくわからない場合に役立ちます(たとえば、この場合、おそらくllvm-config
呼び出されたことを示しているはずllvm-config-3.2
です)。