gauche-0.8.14:20081015をインストールしようとしたら、なんかgcc関連っぽいエラーが出たので、先にgccをアップデートしてみる事にした。
今のところ、Lにのみインストール。
gmpが必要になるので、先にインストールする。
wget http://ftp.gnu.org/gnu/gmp/gmp-4.2.4.tar.bz2 tar xvfj gmp-4.2.4.tar.bz2 cd gmp-4.2.4 ./configure \ --prefix=/usr \ --with-gnu-ld \ --disable-nls \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su nice make all check install
mpfrも必要になるので、先にインストールする。
wget http://www.mpfr.org/mpfr-current/mpfr-2.3.2.tar.bz2 tar xvfj mpfr-2.3.2.tar.bz2 cd mpfr-2.3.2 ./configure \ --prefix=/usr \ --with-gnu-ld \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su nice make all check install
gcc本体をインストールする。
wget http://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-3.4.6.tar.bz2 tar xvfj gcc-3.4.6.tar.bz2 cd gcc-3.4.6 mkdir builder cd builder ../configure \ --prefix=/usr \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --disable-checking \ --enable-clocale=gnu \ --with-gnu-ld \ --verbose \ --disable-nls \ --enable-languages=c,c++ \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su ln -sf /usr/bin/ar /usr/bin/i686-uboaware-linux-ar nice make bootstrap check install
何故かarをi686-uboaware-linux-arという名前で参照されたので、適当にシンボリックリンクを作って誤魔化した(おそらく--host辺りの悪影響)。
しかし、これでもまだ4.3.2のmake時に同じエラーが出たので、もう少し間を入れて、4.2.4を入れる事にしてみる。
少し試した結果、4.2.4からはautogenが必要なので、autogenを先に入れる。
wget http://ftp.gnu.org/gnu/autogen/autogen-5.5.7.tar.bz2 tar xvfj autogen-5.5.7.tar.bz2 cd autogen-5.5.7 ./configure \ --prefix=/usr \ --with-gnu-ld \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su nice make all install nice make check
何故かmake check内のgetoptのtestだけ、make中のautogenではなく、既にインストールされているautogenのチェックを行ってしまう不具合があるようなので、make checkを通す為に、先にインストールしてしまう事にした。
gcc-4.2.4を入れる。
export GCC_VERSION=4.2.4 wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2 tar xvfj gcc-${GCC_VERSION}.tar.bz2 cd gcc-${GCC_VERSION} mkdir builder cd builder ../configure \ --prefix=/usr \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --disable-checking \ --enable-clocale=gnu \ --with-gnu-ld \ --verbose \ --disable-nls \ --enable-languages=c,c++ \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su nice make bootstrap check install
そしてやっと、gccの4.3.2をインストールする。
export GCC_VERSION=4.3.2 wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.bz2 tar xvfj gcc-${GCC_VERSION}.tar.bz2 cd gcc-${GCC_VERSION} mkdir builder cd builder ../configure \ --prefix=/usr \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --disable-checking \ --enable-clocale=gnu \ --with-gnu-ld \ --verbose \ --disable-nls \ --enable-languages=c,c++ \ --target=i686-uboaware-linux \ --host=i686-uboaware-linux su nice make all check install
しかし、以下のエラーが出て、makeに失敗してしまった。
make[3]: Leaving directory `/home/nekoie/gcc-4.3.2/builder/i686-uboaware-linux/libgcc' i686-uboaware-linux-gcc -O2 -g -g -O2 -O2 -O2 -g -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I../../../libgcc -I../../../libgcc/. -I../../../libgcc/../gcc -I../../../libgcc/../include -DHAVE_CC_TLS -DUSE_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF _muldi3.dep -DL_muldi3 -c ../../../libgcc/../gcc/libgcc2.c \ -fvisibility=hidden -DHIDE_EXPORTS In file included from ../../../libgcc/../gcc/libgcc2.c:65: ../../../libgcc/../gcc/libgcc2.h:176: error: unknown machine mode 'libgcc_cmp_return' ../../../libgcc/../gcc/libgcc2.h:177: error: unknown machine mode 'libgcc_shift_count' make[2]: *** [_muldi3.o] Error 1
とりあえずgccはそれなりに新しくなったので、今日はこれで良しとする。