gcc4.6が必要になったので自分のホームフォルダ内でコンパイルできたら便利だなと思い、試してみました。
ダウンロード先はいろいろと探すのが面倒でしたが、こちらミラーサイトでgcc-4.6.3.tar.gzをダウンロードしました。
コンパイル方法は一般的なソフトとは少し違っていますが、この通りにやってみた。オブジェクトファイルの格納位置が気に食わなかったので、少し変更しています。
InstallingGCC - GCC Wiki
tar xzvf gcc-4.6.3.tar.gz cd gcc-4.6.3 ./contrib/download_prerequisites mkdir build cd build ../configure --prefix=~/apps/gcc-4.6.3 make make install
ポイントはdownload_prerequisitesとmakeの場所。download_prerequisitesでは足りないモジュール(?)を自動的にインストールしてくれるみたい。
そのときのログ。
[root@sake gcc-4.6.3]# ./contrib/download_prerequisites --2013-04-06 23:58:09-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 => “mpfr-2.4.2.tar.bz2” Resolving gcc.gnu.org... 209.132.180.131 Connecting to gcc.gnu.org|209.132.180.131|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE mpfr-2.4.2.tar.bz2 ... 1077886 ==> PASV ... done. ==> RETR mpfr-2.4.2.tar.bz2 ... done. Length: 1077886 (1.0M) (unauthoritative) 100%[======================================>] 1,077,886 653K/s in 1.6s 2013-04-06 23:58:19 (653 KB/s) - “mpfr-2.4.2.tar.bz2” saved [1077886] --2013-04-06 23:58:20-- ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2 => “gmp-4.3.2.tar.bz2” Resolving gcc.gnu.org... 209.132.180.131 Connecting to gcc.gnu.org|209.132.180.131|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE gmp-4.3.2.tar.bz2 ... 1897483 ==> PASV ... done. ==> RETR gmp-4.3.2.tar.bz2 ... done. Length: 1897483 (1.8M) (unauthoritative) 100%[======================================>] 1,897,483 846K/s in 2.2s 2013-04-06 23:58:25 (846 KB/s) - “gmp-4.3.2.tar.bz2” saved [1897483] --2013-04-06 23:58:25-- ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz => “mpc-0.8.1.tar.gz” Resolving gcc.gnu.org... 209.132.180.131 Connecting to gcc.gnu.org|209.132.180.131|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gcc/infrastructure ... done. ==> SIZE mpc-0.8.1.tar.gz ... 544950 ==> PASV ... done. ==> RETR mpc-0.8.1.tar.gz ... done. Length: 544950 (532K) (unauthoritative) 100%[======================================>] 544,950 387K/s in 1.4s 2013-04-06 23:58:29 (387 KB/s) - “mpc-0.8.1.tar.gz” saved [544950]
順調にmakeまで行ったと思ったら5分くらい待ってこんなエラーがでた。
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
調べたら32bit版のライブラリが必要なようである。
ubuntu - Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code - Stack Overflow
Scientific Linux 6.3なので、管理者権限で
make install glibc-devel.i686
でインストールしました。(管理者権限が無い場合は…32bit版ライブラリってコンパイルできるのかな?)
で、再度make
make make install
本当はcleanしたほうがいいのかも知れませんが、かなり時間がかかるので。結局、1時間以上経ってからようやくコンパイルが終わってinstallが完了しました。あとは、自分のホームフォルダの.bashrcや.cshrcでパスを通す設定をすれば完了です。