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
と出た.
今のところまったく問題なく使えている.