According to the GCC 4.5 Release Criteria at http://gcc.gnu.org/gcc-4.5/criteria.html , MinGW is a secondary platform and should be able to bootstrap successfully. Currently, GCC 4.5 does not even build on MinGW/MSYS with --disable-bootstrap , which worked for me with 4.3.x. (The full bootstrap hasn't worked for me since 4.1.x; at this point I would be happy to get --disable-bootstrap builds working again.)
Here is my build process in precise detail. Step 1. Extract to C:\Temp\gcc\msys (or any other location separate from the working directories used here): http://sourceforge.net/projects/mingw/files/ > MSYS Base System > msys-1.0.11 > msysCORE-1.0.11-bin.tar.gz http://sourceforge.net/projects/mingw/files/ > MSYS Bison > bison-2.4.1-1 > bison-2.4.1-1-msys-1.0.11-bin.tar.lzma http://sourceforge.net/projects/mingw/files/ > MSYS Flex > flex-2.5.35-1 > flex-2.5.35-1-msys-1.0.11-bin.tar.lzma http://sourceforge.net/projects/mingw/files/ > MSYS regex > regex-1.20090805-1 > libregex-1.20090805-1-msys-1.0.11-dll-1.tar.lzma Step 2. Save decompressed .tar files to C:\Temp\gcc\sources (this is a staging area separate from the working directories used here): http://sourceforge.net/projects/mingw/files/ > MinGW Runtime > mingwrt-3.17 > mingwrt-3.17-mingw32-dev.tar.gz http://sourceforge.net/projects/mingw/files/ > MinGW API for MS-Windows > w32api-3.14 > w32api-3.14-mingw32-dev.tar.gz ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20091231/gcc-core-4.5-20091231.tar.bz2 ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20091231/gcc-g++-4.5-20091231.tar.bz2 ftp://ftp.gmplib.org/pub/gmp-4.3.1/gmp-4.3.1.tar.bz2 http://www.mpfr.org/mpfr-current/mpfr-2.4.2.tar.bz2 http://www.mpfr.org/mpfr-current/patches (renamed to mpfr-2.4.2.patch) http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz Step 3. In MSYS, run the following commands. This uses C:\Temp\gcc\src , C:\Temp\gcc\build , and C:\Temp\gcc\dest as working directories. cd /c/temp/gcc/sources tar -C /c/temp/gcc -xf gcc-core-4.5-20091231.tar tar -C /c/temp/gcc -xf gcc-g++-4.5-20091231.tar tar -C /c/temp/gcc -xf gmp-4.3.1.tar tar -C /c/temp/gcc -xf mpfr-2.4.2.tar patch -Z -d /c/temp/gcc/mpfr-2.4.2 -p1 < mpfr-2.4.2.patch tar -C /c/temp/gcc -xf mpc-0.8.1.tar mkdir -p /include rm -rf /mingw mkdir /mingw tar -C /mingw -xf mingwrt-3.17-mingw32-dev.tar tar -C /mingw -xf w32api-3.14-mingw32-dev.tar cd /c/temp/gcc mv gcc-4.5-20091231 src mv gmp-4.3.1 src/gmp mv mpfr-2.4.2 src/mpfr mv mpc-0.8.1 src/mpc mkdir build dest cd build ../src/configure --prefix=c:/temp/gcc/dest --enable-languages=c,c++ --enable-threads --disable-nls --disable-win32-registry --disable-sjlj-exceptions --with-arch=i486 --with-tune=generic --enable-cxx-flags='-fno-function-sections -fno-data-sections' --disable-libstdcxx-pch --disable-shared --enable-checking=release --disable-bootstrap --disable-symvers --enable-fully-dynamic-string make This fails with: make[3]: Leaving directory `/c/temp/gcc/build/mpfr' make[2]: Leaving directory `/c/temp/gcc/build/mpfr' mkdir -p -- ./mpc Configuring in ./mpc configure: creating cache ./config.cache checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... i686-pc-mingw32 checking host system type... i686-pc-mingw32 checking for i686-pc-mingw32-gcc... gcc checking for C compiler default output file name... a.exe checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... .exe checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking for DLL/static GMP... static checking for a sed that does not truncate output... (cached) /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc... ld checking if the linker (ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... nm checking the name lister (nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 8192 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for ld option to reload object files... -r checking for i686-pc-mingw32-objdump... objdump checking how to recognize dependent libraries... file_magic ^x86 archive import |^x86 DLL checking for i686-pc-mingw32-ar... ar checking for i686-pc-mingw32-strip... no checking for strip... strip checking for i686-pc-mingw32-ranlib... ranlib checking command to parse nm output from gcc object... ok checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... no checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (ld) supports shared libraries... yes checking dynamic linker characteristics... Win32 ld.exe checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for __gmpz_init in -lgmp... no configure: error: libgmp not found or uses a different ABI. make[1]: *** [configure-mpc] Error 1 make[1]: Leaving directory `/c/temp/gcc/build' make: *** [all] Error 2 -- Summary: GCC 4.5 doesn't come close to bootstrapping on MinGW/MSYS Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: lxndrmxwll at gmail dot com GCC build triplet: i686-pc-mingw32 GCC host triplet: i686-pc-mingw32 GCC target triplet: i686-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42584