Linux Mint 17.1 "Rebecca" - Cinnamon (64-bit)でgcc 5.1.0をビルドしてインストール
Linux Mint 17.1 "Rebecca" - Cinnamon (64-bit)で、gcc 5.1.0を、ソースコードからビルドしてインストールする際、ハマったのでメモしておきます。たぶんUbuntuでも、同様の手順でインストールできるのではないかと思います。
当然ですが、コンソールでの作業になります。
基本的に、 How to Manually Build and Install GNU Compiler Collection on Linux Mint の通りに、インストールを進めます。
まず、ビルドに必要なライブラリをインストールします。
gmp-6.0.0のインストール
まず、GMP(任意精度算術ライブラリ)をインストールします。gmp-6.0.0a.tar.bz2 をダウンロードして、適当なディレクトリに解凍し、そのディレクトリに移動します。
$ wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2
$ tar -jxvf gmp-6.0.0a.tar.bz2
$ cd gmp-6.0.0
そして、次のコマンドを実行します。
$ sudo mkdir /opt/gmp-6.0.0
$ ./configure --prefix=/opt/gmp-6.0.0 && make && make check && sudo make install
正しくビルド&インストールされていたならば、以下のように表示されるはずです。
MPFR-3.1.2のインストール
次に、MPFR(高精度浮動小数点算術ライブラリ)をインストールします。mpfr-3.1.2.tar.bz2 をダウンロードして、適当なディレクトリに解凍し、そのディレクトリに移動します。
$ wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.bz2
$ tar -jxvf mpfr-3.1.2.tar.bz2
$ cd mpfr-3.1.2
そして、次のコマンドを実行します。
$ sudo mkdir /opt/mpfr-3.1.2
$ ./configure --prefix=/opt/mpfr-3.1.2 --with-gmp=/opt/gmp-6.0.0 && make && make check && sudo make install
正しくビルド&インストールされていたならば、以下のように表示されるはずです。
MPC-1.0.3のインストール
次に、MPC(複素数算術ライブラリ)をインストールします。mpc-1.0.3.tar.gz をダウンロードして、適当なディレクトリに解凍し、そのディレクトリに移動します。
$ wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
$ tar -xvzf mpc-1.0.3.tar.gz
$ cd mpc-1.0.3
以下のコマンドを実行します。
$ sudo mkdir /opt/mpc-1.0.3
$ ./configure --prefix=/opt/mpc-1.0.3 --with-gmp=/opt/gmp-6.0.0 --with-mpfr=/opt/mpfr-3.1.2 && make && make check && sudo make install
正しくビルド&インストールされていたならば、以下のように表示されるはずです。
gcc-5.1.0のビルドとインストール
最後に、gcc-5.1.0をビルドしてインストールします。gcc-5.1.0.tar.bz2 をダウンロードして、適当なディレクトリに解凍し、そのディレクトリに移動します。
$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.1.0/gcc-5.1.0.tar.bz2
$ tar -jxvf gcc-5.1.0.tar.bz2
$ cd gcc-5.1.0
以下のコマンドを実行します。
$ sudo mkdir /opt/gcc-5.1.0
$ ./configure --prefix=/opt/gcc-5.1.0 --with-gmp=/opt/gmp-6.0.0 --with-mpfr=/opt/mpfr-3.1.2 --with-mpc=/opt/mpc-1.0.3 --disable-multilib --enable-languages=c,c++
$ make -j(thread num) && sudo make install
ここで、(thread num)には、並列ビルドに使用するスレッド数を指定します。
以上を実行すると、私の環境では、以下のようなエラーが表示されます。
いろいろ調べたところ、これは、CPLUS_INCLUDE_PATH
(あるいは、C_INCLUDE_PATH
)関連のエラーらしいです(参考:g++ 4.7.1 compilation error : conflicting types for ‘strsignal’ - Stack Overflow
下図のように、私の環境では、.bashrc
のCPLUS_INCLUDE_PATH
をコメントアウトすると、問題なくビルドできました(なお、source ~/.bashrc
ではダメで、再起動が必要のようです)。
正しくビルド&インストールされていたならば、以下のように表示されるはずです。
/etc/profileと/etc/ld.so.confの編集
次に、/etc/profileに対して、次のコマンドを実行します。
sudo sh -c "echo 'export PATH=/opt/gcc-5.1.0/bin:\$PATH' >> /etc/profile"
sudo sh -c "echo 'export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu' >> /etc/profile"
次に、/etc/ld.so.confに対して、次のコマンドを実行します。
sudo sh -c "echo '/opt/gmp-6.0.0/lib' >> /etc/ld.so.conf"
sudo sh -c "echo '/opt/mpfr-3.1.2/lib' >> /etc/ld.so.conf"
sudo sh -c "echo '/opt/mpc-1.0.3/lib' >> /etc/ld.so.conf"
以下のコマンドを実行して、/etc/profileと/etc/ld.so.confの変更を反映させます。
sudo ldconfig -v
. /etc/profile
インストールの確認
$ printenv PATH
を実行し、以下のように、PATH環境変数に、/opt/gcc-5.1.0/bin
が含まれていることを確認します。
$ gcc --version
と、$ g++ --version
を実行し、以下のように、5.1.0と表示されることを確認します。
補足
なお、私の環境では、Boostのビルドで /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found
と言われましたので、GLIBCXX_3.4.20 not found, how to fix this error? - Stack Overflow の通りに、
$ sudo apt-get install libstdc++6
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
としたら、解決しました。
以上で、gcc-5.1.0のビルドとインストールは完了です。お疲れ様でした。
Author And Source
この問題について(Linux Mint 17.1 "Rebecca" - Cinnamon (64-bit)でgcc 5.1.0をビルドしてインストール), 我々は、より多くの情報をここで見つけました https://qiita.com/dc1394/items/740f53c8d967a563a97c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .