Install Clang, LLVM from source
LibreOfficeやOpenFOAMといった最新のフリーソフトはC++で書かれている。これらのソフトを使いこなすためには,パッケージマネージャーに頼らずに自分でコンパイラをビルドする必要に迫られることがある。例えば,root権限が使えない環境下などでだ。そのためC++コンパイラのビルド・インストールを試みる。
自分でビルドできる自由なC++コンパイラ(C++
compiler)には以下の2種類がある。
- g++ (GCC)
- Clang
この内,g++は歴史はあるが依存関係が多くてインストールが困難だ。ここ数日インストールを試みていたが断念した。後発でインストールが楽であるClangをインストールする。
インストールガイド:
- Clang – Getting Started http://clang.llvm.org/get_started.html
- CentOS5にLLVMとclangをインストールする | CentOS・Red Hat Linux実践テクニック – サンプルコードによるPerl入門 ~ Perlで楽しくプログラミングを学ぼう ~ http://d.hatena.ne.jp/perlcodesample/20131202/1385985392
- 本の虫: clangのビルド http://cpplover.blogspot.jp/2012/03/clang_26.html
最新版の配布元:Download
LLVM releases http://llvm.org/releases/
ビルド環境:Ubuntu
14.04
公式のインストールガイドに沿ってインストールしていく。ただし,公式のものはsvn
(subversion)を使ってソースコードをダウンロードしている。svnをソースからインストールするのは面倒なので,wgetでtar.gzをダウンロード・展開して行う。
##
tarballの展開後のディレクトリ名を変更して配置する。
cd
~/local/src/
tar
zxf llvm-3.4.2.src.tar.gz
tar
zxf cfe-3.4.2.src.tar.gz
mv
cfe-3.4.2.src llvm-3.4.2.src/tools/clang
wget -nc http://llvm.org/releases/3.4/clang-tools-extra-3.4.src.tar.gz
wget -nc http://llvm.org/releases/3.4/clang-tools-extra-3.4.src.tar.gz
tar
zxf clang-tools-extra-3.4.src.tar.gz
mv clang-tools-extra-3.4 llvm-3.4.2.src/tools/clang/tools/extra
mv clang-tools-extra-3.4 llvm-3.4.2.src/tools/clang/tools/extra
tar
zxf compiler-rt-3.4.src.tar.gz
mv
compiler-rt-3.4 llvm-3.4.2.src/projects/compiler-rt
cd
llvm-3.4.2.src
mkdir
build
cd
build
../configure
–prefix=$HOME/local/stow/llvm-3.4.2 –enable-optimized
–enable-assertions=no
make
make
install
makeにはほぼ1時間かかった。
インストール時に注意すべきことはディレクトリ名だ。以下のようなエラーが出る場合,ディレクトリ名が間違っている。compiler-rt-3.4ではなく,compiler-rtとしないといけない。インストールガイドに書かれているものと同じディレクトリ名にして各ディレクトリを配置する必要がある。
make[2]:
Entering directory
`/home/senooken/local/src/llvm-3.4.2.src/build/projects/compiler-rt-3.4′
Makefile:6:
make/config.mk: No such file or directory
Makefile:7:
make/util.mk: No such file or directory
以上で自由なC++コンパイラであるClangが手に入った。Clangを使ってxstowをコンパイル・インストールすることで,ローカル環境でパッケージを自分で管理できる。
# 2014-07-15: コンパイルオプションを変更。ClangのインストールにはGCC (g++)が必要なのでやはりこちらを自力でビルドする必要がある。
# 2014-07-15: コンパイルオプションを変更。ClangのインストールにはGCC (g++)が必要なのでやはりこちらを自力でビルドする必要がある。