--

--

コメント

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
管理者にだけ表示を許可する

この記事のトラックバックURL

http://s243k.blog65.fc2.com/tb.php/486-a1b1c8b4

04

29

コメント

VirtualBox な CentOS 6.5 に gcc 4.8.2 をインストールしてみる

 Windows 7 をホスト OS とする VirtualBox 上の CentOS 6.5 に、gcc 最新版の ver. 4.8.2 をインストールしたときのメモ。

 上記ページを参考にさせていただきました。 というか、バージョンの値を変えただけです……。

環境情報

 基本的な構成は下記の通りです。

ホスト OSWindows 7 Home Edition (64 bit)
仮想化ソフトVirtualBox 4.3.10 r93012
ゲスト OSCentOS 6.5 x86_64 (64 bit)

 今回は、デスクトップ開発環境を目指しつつ、できるだけ最小限のパッケージしかインストールされていない状況からセットアップしてみます。 というわけで、CentOS のインストール構成は minimum desktop を選択。 ちなみに、以下、wheel ユーザーを作って sudo が使えるようになっている前提です。

アップデート

 yum で諸々をアップデートします。 ちょっと気になる openssl も、ちゃんとheartbleed 修正版へ更新されました。

$ sudo yum update
$ yum list installed | grep openssl
  openssl.x86_64    1.0.1e-16.el6_5.7  //← heartbleed 修正版
$ sudo reboot

必要なもののインストール

$ sudo yum install gcc gcc-c++ glibc-devel.x86_64 glibc-devel.i.686
  // 依存関係も含めて以下がインストールされた (glibc-devel.x86_64 はインストール済みでした)
  gcc x                 x86_64  4.4.7-4.el6
  gcc-c++               x86_64  4.4.7-4.el6
  libstdc++-devel       x86_64  4.4.7-4.el6
  glibc-devel           i686    2.12-1.132.el6
  cloog-ppl             x86_64  0.15.7-1.2.el6
  cpp                   x86_64  4.4.7-4.el6
  glibc                 i686    2.12-1.132.el6
  mpfr                  x86_64  2.4.1-6.el6
  nss-softokn-freebl    i686    3.14.3-10.el6_5
  ppl                   x86_64  0.10.2-11.el6
$ sudo reboot

環境変数の設定

$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ export LD_RUN_PATH=/usr/local/lib:$LD_RUN_PATH

 以降、インストール完了までに端末を閉じると、上記環境変数がクリアされます。 須良←はうっかり端末を閉じてしまって、コレではまりました……。

共有ライブラリの設定

$ sudo vi /etc/ld.so.conf

// 以下のように設定
include ld.so.conf.d/*.conf //もともと存在する行
/usr/local/lib              //←新しく追加

$sudo ldconfig

GMP インストール

$ mkdir ~/gcc-install; cd ~/gcc-install
$ mkdir gmp; cd gmp
$ wget ftp://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.xz
$ tar xvf gmp-6.0.0a.tar.xz
$ cd gmp-6.0.0a
$ sd mkdir build; cd build
$ ../configure --enable-cxx
$ make -s -j2
$ make check -s -j2
$ sudo make install

mpfr インストール

$ cd ~/gcc-install
$ mkdir mpfr; cd mpfr
$ wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.gz
$ tar xvzf mpfr-3.1.2.tar.gz
$ cd mpfr-3.1.2
$ sd mkdir build; cd build
$ ../configure
$ make -s -j2
$ make check -s -j2
$ sudo make install

mpc インストール

$ cd ~/gcc-install
$ mkdir mpc; cd mpc
$ wget http://www.multiprecision.org/mpc/download/mpc-1.0.2.tar.gz
$ tar xvzf mpc-1.0.2.tar.gz
$ cd mpc-1.0.2
$ sd mkdir build; cd build
$ ../configure
$ make -s -j2
$ make check -s -j2
$ sudo make install

isl インストール

$ cd ~/gcc-install
$ mkdir isl; cd isl
$ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.12.2.tar.bz2
$ tar xvf isl-0.12.2.tar.bz2
$ cd isl-0.12.2
$ sd mkdir build; cd build
$ ../configure
$ make -s -j2
$ make check -s -j2
$ sudo make install

CLooG インストール

$ cd ~/gcc-install
$ mkdir cloog; cd cloog
$ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-0.18.1.tar.gz
$ tar xvzf cloog-0.18.1.tar.gz
$ cd cloog-0.18.1
$ sd mkdir build; cd build
$ ../configure
$ make -s -j2
$ make check -s -j2
$ sudo make install

gcc インストール

$ cd ~/gcc-install
$ mkdir gcc4.8.2; cd gcc4.8.2
$ wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
$ tar xvzf gcc-4.8.2.tar.gz
$ cd gcc-4.8.2
$ sd mkdir build; cd build
$ ../configure --enable-languages=c,c++,fortran,java --program-suffix=-4.8.2
$ make -s -j2
$ sudo make install

インストールチェック

$ g++-4.8.2 --version
g++-4.8.2 (GCC) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

標準で ver. 4.8.2 を使う

 yum でインストールした ver. 4.4.7 は不要なので、削除。 標準で ver. 4.8.2 を使うようにする。 また、別バージョンをインストールしたときにバージョンを切り替えられるように alternatives を設定しておく。

$ sudo yum remove gcc gcc-c++
$ sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/local/bin/gcc-4.8.2 20 \
--slave   /usr/bin/g++ g++ /usr/local/bin/g++-4.8.2 \
--slave   /usr/bin/gfortran gfortran /usr/local/bin/gfortran-4.8.2 \
--slave   /usr/bin/gcj gcj /usr/local/bin/gcj-4.8.2

$ update-alternatives --display gcc
gcc -ステータスは自動です。
リンクは現在 /usr/local/bin/g-4.8.2 を指しています。
/usr/local/bin/gcc-4.8.2 - 優先項目 20
 スレーブ g++: /usr/local/bin/g++-4.8.2
 スレーブ gfortran: /usr/local/bin/gfortran-4.8.2
 スレーブ gcj: /usr/local/bin/gcf-4.8.2
現在の「最適」バージョンは /usr/local/bin/gcc-4.8.2 です。

 alternative を使うんだったら、/usr/local/bin の下に gcc-4.8.2 用のディレクトリを切って、その中に bin 類をインストールしても良かったかも……とか思いました。

スポンサーサイト

管理者にだけ表示を許可する

この記事のトラックバックURL

http://s243k.blog65.fc2.com/tb.php/486-a1b1c8b4

ブログ内検索

プロフィール

須良

Author:須良
落ちてるネタを見つけては無駄に実践し、自己満足に浸る暇人。
いい加減、真っ当な生活をすることを考えないといけないと思い始めて久しい今日この頃。しかし、その兆しは一向に訪れる気配なし。
横文字のハンドルネームから漢字文字のそれに変わった様だが、いまだに自分の名前を間違えることが少なくない模様。

ブロとも申請フォーム

Designed by

Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。