Snow Leopard に llvmlite と Numba をインストールする

Numba 0.17 以降をインストールするには llvmlite が必要になった.
以下,Snow Leopard (10.6.8) に llvmlite 0.4.0 をインストールしたときの記録 (非常に苦労した).

  • llvmlite をインストールするには LLVM 3.5 が必要.
  • いろいろ試したが LLVM 3.5  を直接インストールすることはできず断念.
  • そこでまず LLVM 3.3 を Homebrew でインストールし,それを踏み台に 3.5 をソースからビルドする.
  • それでできあがった clang++ と llvm-config を使って llvmlite (0.4.0) をインストールする.
  • それをもとに Numba (0.18.2) をインストールする.

LLVM 3.3

Homebrew で Clang とかライブラリとかを含め llvm 3.3 をインストールする (すでに入れているので reinstall).

$ brew reinstall -v --rtti --with-clang --with-libcxx llvm33

Warning が出るが,気にしないことにする.

LLVM 3.5.1

上でインストールをした LLVM 3.3 の Clang とライブラリを使って LLVM 3.5.1 をソースからインストールする.

Getting Started Quickly (A Summary) に書いてあるとおりに実行する.

まずソースをとってくる.

$ cd where-you-want-llvm-to-live
$ svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_351/final llvm-3.5.1
$ cd llvm-3.5.1/tools
$ svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_351/final clang
$ cd ../projects
$ svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_351/final compiler-rt

いつでもやり直せるように新しいディレクトリを作ってそこで作業する.

$ cd ..
$ mkdir build
$ cd build

いろいろ試行錯誤した結果,次ので CMake が通った.

$ CC=clang-3.3 \
CXX="clang++-3.3 -std=c++11 -stdlib=libc++" \
CPPFLAGS="$CPPFLAGS -nostdinc++" \
CXXFLAGS="$CXXFLAGS -I/usr/local/opt/llvm33/lib/llvm-3.3/lib/c++/v1 \
-L/usr/local/opt/llvm33/lib/llvm-3.3/usr/lib -U__STRICT_ANSI__" \
LDFLAGS="$LDFLAGS -L/usr/local/opt/llvm33/lib/llvm-3.3/lib" \
DYLD_LIBRARY_PATH=/usr/local/opt/llvm33/lib/llvm-3.3/usr/lib \
cmake -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ..

Make する.

$ make -j 8

Warning が出るが,make は通った.

しかし,テストしてみると:

$ make check-all -j 8

エラーが出る.どこかの部分でうまくいっていないようだ.

が,とりあえず先に進んでみる.

llvmlite 0.4.0

上でできあがったバイナリに path を通し,pip install する.

$ export PATH=where-you-want-llvm-to-live/llvm-3.5.1/build/bin:$PATH
$ pip install llvmlite

Successfully installed llvmlite と出た.テストも通る.

$ python -m llvmlite.tests

OK.

Numba 0.18.2

ここまで来ればあとは pip install するだけ.

$ pip install funcsigs
$ pip install numba -U

問題なく Successfully installed numba と出た.

今のところまったく問題なく使えている.

カテゴリー: Python タグ: , , , パーマリンク