CentOS 6.3 で gcc-4.7.1インストールしてみた
エラー: ‘const class std::type_info’ has no member named ‘hash_code’
hash_code は4.6.1以降でないと使えないらしいので
どうせアップデートするなら新しい方がいいと思い、gcc-4.7.1をインストールした次第です。
インストールしたパッケージ
1.gmpのインストール
# wget http://ftp.gnu.org/gnu/gmp/gmp-5.0.5.tar.xz
# tar xvf gmp-5.0.5.tar.gz
# cd gmp-5.0.5
# ./configure --enable-cxx
# make
# make install
2.mpfrのインストール
# wget http://www.mpfr.org/mpfr-3.1.1/mpfr-3.1.1.tar.xz
# tar xvf mpfr-3.1.1.tar.gz
# cd mpfr-3.1.1
# ./configure
# make
# make install
3.mpcのインストール
# wget http://www.multiprecision.org/mpc/download/mpc-1.0.tar.gz
# tar xvf mpc-1.0.tar.gz
# cd mpc-1.0
# ./configure
# make
# make install
4.pplのインストール
# wget http://bugseng.com/external/ppl/download
/ftp/releases/0.11.2/ppl-0.11.2.tar.gz
# tar xvf ppl-0.11.2.tar.gz
# cd ppl-0.11.2
# make
# make install
5.binutilsのインストール
6.glibc-develのインストール
7.gccのインストール
# wget http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2
# bzip2 -dc gcc-4.7.1.tar.bz2
# cd gcc-4.7.1
# export LD_LIBRARY_PATH=/usr/local/lib
# ./configure -with-ppl-lib=/usr/local/lib -with-mpc-lib=/usr/local/lib -with-gmp-lib=/usr/local/lib
# make
# make install
これでgcc-4.7.1のインストールは完了?です。 試しにコンパイルしてみましたが下記のようなエラーが出ました。 error while loading shared libraries: libppl_c.so.4: cannot open shared object file: No such file or directory これはライブラリのパスを環境変数に設定してあげればよいようです。 export LD_LIBRARY_PATH=/usr/local/lib 【追記】 /etc/ld.so.confに以下を追加して /usr/lib /usr/local/lib /usr/local/lib64 次のコマンドを入力することで # /sbin/ldconfig 実行時、コンパイル時のライブラリエラーはでなくなりました。 共有ライブラリのパスを追加するようです。 ここで最初のエラーに戻りますが、C++0xは標準では無効?になっているようで、 コンパイルオプションに -std=c++0x をつけることでコンパイルができるようになりました。