MinGWで gcc4.1.1環境を作る

環境

いまはパッケージで入れた gcc 3.4.4です。これを新しくします。

 nobita% uname -a
 Linux nobita 2.6.15-26-386 #1 PREEMPT Thu Aug 3 02:52:00 UTC 2006 i686 GNU/Linux
 nobita% gcc --version
 gcc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)
 nobita% /usr/bin/i586-mingw32msvc-gcc --version
 i586-mingw32msvc-gcc (GCC) 3.4.4 (mingw special)

手順

binutils

 nobita% wget http://ftp.gnu.org/gnu/binutils/binutils-2.17.tar.bz2
 nobita% tar jvxf binutils-2.17.tar.bz2
 nobita% cd binutils-2.17
 nobita% ./configure --prefix=~ --target=i386-mingw32
 nobita% make
 nobita% make install
 nobita% ls ~/i386-mingw32/bin
 ar  as  dlltool  ld  nm  objdump  ranlib  strip
 nobita% ls ~/i386-mingw32/lib
 ldscripts

MinGW

 nobita% cd ~/i386-mingw32
 nobita% tar zvxf ~/src/w32api-3.6.tar.gz
 nobita% tar zvxf ~/src/mingw-runtime-3.9.tar.gz
 nobita% ls ~/i386-mingw32/lib
 CRT_fp10.o     libcoldname.a  libdplayx.a    libhidparse.a   libmpr.a       libodbccp32.a  libscrnsave.a  libuuid.a 略
 nobita% ls ~/i386-mingw32/include
 GL           dde.h       imagehlp.h  lmerr.h     mgmtapi.h   oleauto.h   richedit.h  shlobj.h    utime.h     winnt.h 略


gcc-4.1.1

 nobita% wget ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/gcc-4.1.1/gcc-4.1.1.tar.bz2
 nobita% tar jvxf gcc-4.1.1.tar.bz2
 nobita% cd gcc-4.1.1
 nobita% ./configure --prefix=~ --target=i386-mingw32 
 make[3]: i386-mingw32-ar: コマンドが見つかりませんでした

とエラーになるのでPATHを通すべきことに気づく。

 export PATH="$PATH:/home/taro/bin"

進むとで違うエラーがでる。

 /home/taro/src/gcc-4.1.1/libobjc/archive.c:27:21: error: tconfig.h: No such file or directory
 make[2]: *** [archive.lo] エラー 1


探してみると /home/taro/src/gcc-4.1.1/host-i686-pc-linux-gnu/gcc/tconfig.h がある。
試しに cp して見ると途中までうまくいく。がまた足りなくなる。
そもそも host-i686-pc-linux-gnu じゃないので i386-mingw32/include にこれらのものがあるとうれしいんだけど、それはない。

Tinoさんのアドバイスを参考に

cd libobjc; touch tconfig.h tm.h config.h

の後に make && make install で無事にインストールできました。