Install g++ (GCC) 4.9.0 from source with g++
最近のフリーソフトはC++で書かれたものが多い。インストールするときに必然的にC++のコンパイラが必要になる。フリーのC++コンパイラはGCCのg++とClangしかない。Clangはg++がないとインストールできない。そのためg++を自前でインストールすることが重要だ。
しかし,g++をg++のない環境でソースからコンパイルしてインストールすることはできなかった。結局g++をインストールするにもどこかでg++がないといけないようだ。g++は管理者にお願いしてaptやyumでインストールさせてもらうしかないだろう。
g++のある環境でなら最新のg++
4.9.0をインストール(アップデート)できたのでその方法について記しておく。
参考:
- Installing GCC – GNU Project – Free Software Foundation (FSF) https://gcc.gnu.org/install/
- Linux – GCC をソースからビルドする修行してみた – Qiita http://qiita.com/t_uda/items/080ae8adf924f83d2133
事前にg++をインストールしている必要がある。
sudo
apt-get install g++
必要なライブラリとしては以下がある。
- GMP
- MPFR
- MPC
- ISL
- Cloog
自分でこれらのライブラリを逐一インストールする方法が考えられるが,GCCのインストールマニュアルを見ると適切な名前でGCCのディレクトリに配置すれば自動でビルドしてくれるらしい。こちらの方が楽なのでこれに沿ってインストールする。
8.1.1 一括インストール
最新版GCCの配布元:http://ftp.gnu.org/gnu/gcc/
cd
~/local/src
tar
jxf gcc-4.9.0.tar.bz2
cd
gcc-4.9.0
wget
-nc https://gmplib.org/download/gmp/gmp-6.0.0a.tar.xz
tar
Jxf gmp-6.0.0a.tar.xz
mv
gmp-6.0.0 gmp
wget -nc http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.xz
wget -nc http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.xz
tar
Jxf mpfr-3.1.2.tar.xz
mv
mpfr-3.1.2 mpfr
wget -nc ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz
wget -nc ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz
tar
zxf mpc-1.0.2.tar.gz
mv
mpc-1.0.2 mpc
wget -nc ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.12.2.tar.bz2
tar
jxf isl-0.12.2.tar.bz2
mv
isl-0.12.2 isl
wget -nc ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz
wget -nc ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz
tar
zxf cloog-0.18.1.tar.gz
mv
cloog-0.18.1
cloog
mkdir build
cd build
../configure –prefix=$HOME/local/gcc-4.9.0 –disable-bootstrap –disable-multilib
make && make install
cd ~/local/stow
xstow gcc-4.9.0
makeにはだいたい30
minかかった。
==ポイント==
–disable-multilib
このオプションでビルドするGCCの種類(32bit
or
64bit)を固定する。このオプションを付けないと,32bitと64bitの両方に対応しようとする。最近のパソコンは64bitなので,32bit用のヘッダを見に行こうとしてエラーになる。32bit用のライブラリをインストールすれば問題ないが,それをするにはaptやyumが必要になるのでできれば避けたい。
–disable-bootstrap
このオプションをつけないとビルドしたGCCでGCC自身をビルドできるかどうかを確認するため,かなり時間がかかるらしい。
これで最新のgcc
4.9.0,g++-4.9.0が手に入った。これで最低限のビルドツールが手に入ったことになる。
ただ,g++をg++のない環境でソースコードからインストールする方法は以前不明なので,もし知っていればぜひお知らせください。