f

2014-07-15

Install Clang, LLVM from source

LibreOfficeOpenFOAMといった最新のフリーソフトはC++で書かれている。これらのソフトを使いこなすためには,パッケージマネージャーに頼らずに自分でコンパイラをビルドする必要に迫られることがある。例えば,root権限が使えない環境下などでだ。そのためC++コンパイラのビルド・インストールを試みる。
自分でビルドできる自由なC++コンパイラ(C++ compiler)には以下の2種類がある。
  • g++ (GCC)
  • Clang
この内,g++は歴史はあるが依存関係が多くてインストールが困難だ。ここ数日インストールを試みていたが断念した。後発でインストールが楽であるClangをインストールする。
インストールガイド:
最新版の配布元:Download LLVM releases http://llvm.org/releases/
ビルド環境:Ubuntu 14.04

公式のインストールガイドに沿ってインストールしていく。ただし,公式のものはsvn (subversion)を使ってソースコードをダウンロードしている。svnをソースからインストールするのは面倒なので,wgettar.gzをダウンロード・展開して行う。


## tarballの展開後のディレクトリ名を変更して配置する。
cd ~/local/src/
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
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 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++)が必要なのでやはりこちらを自力でビルドする必要がある。

0 件のコメント:

コメントを投稿