■ソースダウンロード
http://gcc.gnu.org/mirrors.html より、gcc-4.3.3.tar.gzをダウンロード。
■インストール
$ tar zxvf gcc-4.3.3.tar.gz $ mkdir gcc-4.3.3-obj ←重要!gccはgcc-4.3.3の中でmakeすると失敗する。 $ cd gcc-4.3.3-obj $ ../gcc-4.3.3/configure $ make # make install
■コンパイルエラーが出る場合の対処
CentOS5.x環境では、上記の手順で大丈夫なはずだが、他のディストリビューションだと、
configure時に、GMPとMPFRがありませんというエラーが表示される場合がある。
その場合は以下の手順で対処。
■gmpインストール
http://gmplib.org/#DOWNLOAD より、gmp-4.3.0.tar.gzをダウンロード。
$ tar zxvf gmp-4.3.0.tar.gz $ cd gmp-4.3.0 $ ./configure --prefix=/usr/local/gmp $ make $ make check # make install
■mpfrインストール
http://www.mpfr.org/mpfr-current/#download より、mpfr-2.4.1.tar.gzをダウンロード。
$ tar zxvf mpfr-2.4.1.tar.gz $ cd mpfr-2.4.1 $ ./configure --prefix=/usr/local/mpfr $ make $ make check # make install
■システムにライブラリを認識させる
# vi /etc/ld.so.conf /usr/local/gmp/lib /usr/local/mpfr/lib
を追加。
# ldconfig
で反映。
■gccのビルド
prefixの値は適時変更すること。
インストールしたgccを優先したい場合は/usr/localに。
既存のgccを優先したい場合は、/usr/local/gccにインストールすると良い。
$ tar zxvf gcc-4.3.3.tar.gz $ mkdir gcc-4.3.3-obj ←重要!gccはgcc-4.3.3の中でmakeすると失敗する。 $ cd gcc-4.3.3-obj $ ../gcc-4.3.3/configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr $ make # make install
■システムにgccのライブラリを認識させる
作成したバイナリの起動時にGLIBCXX_3.4.9 not foundとかいわれる場合があるので、
システムにgccライブラリを認識させる必要がある。
/usr/localにインストールした場合
# vi /etc/ld.so.conf /usr/local/lib ←を一番最後に追加
/usr/local/gccにインストールした場合。
# vi /etc/ld.so.conf /usr/local/gcc/lib
# ldconfig
で反映。
本当はrpathとかで対処したほうが良いのかも?
■シンボリックリンク作成
/usr/localにインストールした場合。
$ cd /usr/local/bin # ln -s gcc cc # ln -s /usr/local/bin/cc cc_4.3.3 # ln -s /usr/local/bin/gcc gcc_4.3.3 # ln -s /usr/local/bin/g++ g++_4.3.3 # ln -s /usr/local/bin/cpp cpp_4.3.3
/usr/local/gccにインストールした場合
$ cd /usr/local/gcc/bin # ln -s gcc cc $ cd /usr/local/bin # ln -s /usr/local/gcc/bin/cc cc_4.3.3 # ln -s /usr/local/gcc/bin/gcc gcc_4.3.3 # ln -s /usr/local/gcc/bin/g++ g++_4.3.3 # ln -s /usr/local/gcc/bin/cpp cpp_4.3.3
/usr/local/gcc-4.3.3にインストールした場合(こうすると複数バージョンの混在が容易)
$ cd /usr/local/gcc-4.3.3/bin # ln -s gcc cc $ cd /usr/local/bin # ln -s /usr/local/gcc-4.3.3/bin/cc cc_4.3.3 # ln -s /usr/local/gcc-4.3.3/bin/gcc gcc_4.3.3 # ln -s /usr/local/gcc-4.3.3/bin/g++ g++_4.3.3 # ln -s /usr/local/gcc-4.3.3/bin/cpp cpp_4.3.3 $ cd /usr/local $ ln -s gcc-4.3.3 gcc
■確認
$ gcc_4.3.3 -v
gcc version 4.3.3(GCC)
と表示されれば成功。
■参考サイト
http://www.nabble.com/-Bug-bootstrap-35577—New:-configure:-error:-cannot-compute-suffix-of-object-files-td16038190.html
コメントを残す