LLVMPYを使いたい

LLVMPYを使ってやってみたいこととかあるんですが,まず使えるようになるところまでに苦戦しました.

まずはトップページに書いてあるQuickStartの通りにやってみる.
% git clone https://github.com/llvmpy/llvmpy.git
% cd llvmpy
% LLVM_CONFIG_PATH=LLVM_INSTALL_PATH/bin/llvm-config python setup.py install

エラーが出て,llvmのバーションは3.2か3.3じゃないとダメだと言われた.入ってたのは3.5だったので入れ直すことに.

LLVM3.5を消去
% brew uninstall llvm
LLVM3.3を入れる
% mkdir llvmpy
% cd llvm33
% svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_33/final llvm

これでソースコードはもってこれた.
次にビルドの準備をする.

% brew install cmake

これは入ってた.

% brew install ninja

これらを使ってビルドする.

% mkdir build_ninja
% cd build_ninja
% cmake -G Ninja ../llvm
% ninja

[メモ]
% cmake -G Ninja ../llvm で「ninja.build」ファイルを生成
% ninja でビルド
ninjaは高速なビルドシステム.
以前やったmakeに比べてかなり早かった印象.


.zshrcにパスの設定

前とはインストールした場所が違うので書き換える.

ちゃんとインストール出来たかチェック
% llvm-config --version
3.3svn

いけた様子.

やっと本題.LLVMPYを入れる
% cd ~/llvmpy
% LLVM_CONFIG_PATH=LLVM_INSTALL_PATH/bin/llvm-config python setup.py install

LLVM_INSTALL_PATHはllvm-configがあるところへのパスを書く.

エラーが出た. Intrinsics.genが見つからないと言われた.

ググってみると,このエラーがでる理由は一般的に次の2つらしい.

  • 存在しない
  • 存在してるが間違った場所を探している

ということで,存在するかどうか探してみた

% find ~/ -name Intrinsics.gen

ちゃんと見つかったが,探している場所が違った様子.
こっからどうしたらいいかわからない状況で止まっている.