読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

LLVMを入れてみた!

勉強がてら, @と一緒にLLVMをソースからmakeしてみました. 以下備忘録.

環境

OS: Linux Mint 14
LLVM version: 3.2

参考

以下のサイトを参考にしました.
http://lfsbookja.sourceforge.jp/BLFS/svn.ja/general/llvm.html

libffiのインストール

同時にインストールするよう推奨されていたので導入しておきました.
こちらもソースからmakeしたかったのですが, 何故かうまくいかなかったので妥協してapt-getで入れました.

$ sudo apt-get install libffi-dev

必要なファイルのダウンロード

こちらのページから, llvm-3.2.src.tar.gz, clang-3.2.src.tar.gz, compiler-rt-3.2.src.tar.gzの3ファイルを落としてきます.

ソースの解凍

$ tar -xf llvm-3.2.src.tar.gz

まずllvm本体のソースを解凍します.
解凍した結果生成されるllvm-3.2.srcの中で, clang-3.2.src.tar.gzとcompiler-rt-3.2.src.tar.gzを解凍します.

$ cd llvm-3.2.src
$ tar -xf ../clang-3.2.src.tar.gz -C tools
$ tar -xf ../compiler-rt-3.2.src.tar.gz -C projects

続いて, 一部ディレクトリの名称をmvコマンドで変更します.

$ mv tools/clang-3.2.src tools/clang
$ mv projects/compiler-rt-3.2.src projects/compiler-rt

configure

sudoで入れるのが面倒なので, 基本的にホームディレクトリ直下のlocalディレクトリに入れています.
このディレクトリ構成は, sugyanさんのを参考にしています.

$ ./configure --prefix=$HOME/local/ --enable-libffi --enable-optimized --enable-shared --enable-targets=all --disable-assertions --disable-debug-runtime --disable-expensive-checks 

make

configureが成功したら, makeして, make checkして, make installしてインストール完了です.

$ make
$ make check
$ make install

パスを通す

binディレクトリとlibディレクトリに, 適切なパスを通します.
configureに先ほどのような設定を行った場合, .zshrcあたりに以下のように書くとOKです.

PATH=$PATH:$HOME/local/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib

参考にしたサイトでは, ライブラリへのパスを通す為に, /etc/ld.so.confに対してライブラリの存在する場所を書き込んでからldconfigを実行していましたが, 多分こちらでもうまくできるはずです.

結論

llvmとclangを入れたいというのであれば, よほどの事がなければ,

$ sudo apt-get install llvm clang

で入れてしまうのが楽だと思います!