I have compiled GCC 4.2.0 under the target i686-pc-linux-gnu with the exact same ./configure options and the build went fairly well (it completed, very few test errors) so I decided to use exactly the same ./configure options to build under Cygwin for WinXP. Here is my xgcc-v:
$ stage3-gcc/xgcc -v Using built-in specs. Target: i686-pc-cygwin Configured with: ../gcc-4_2-branch/configure --verbose --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ --with-tune=athlon-xp --prefix=/usr --enable-objc-gc --enable-concept-checks --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/4.2 --enable-libstdcxx-debug --enable-static --enable-shared --enable-initfini-array --enable-__cxa_atexit --enable-threads --enable-version-specific-runtime-libs --enable-libssp --enable-libmudflap --enable-libgomp --disable-werror --enable-nls --without-included-gettext --enable-decimal-float --with-long-double-128 --enable-clocale=gnu --enable-debug --with-stabs --disable-sjlj-exceptions --enable-java-gc=boehm --with-x --enable-java-awt=gtk,xlib --enable-gtk-cairo --enable-qt-peer --enable-xmlj --enable-gconf-peer --enable-tool-wrappers --with-gjdoc --enable-portable-native-sync --enable-libgcj-multifile --with-stabs Thread model: posix gcc version 4.2.0 20070413 (prerelease) Here are the errors that come up (I searched bugzilla for locale_t and got NO hits). make[2]: Leaving directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libiberty' make[2]: Entering directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3' make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=/cygdrive/c/gcc-4_2-branch-build/./gcc/xgcc -B/cygdrive/c/gcc-4_2-branch-build/./gcc/ -B/usr//bin/ -B/usr//lib/ -isystem /usr//include -isystem /usr//sys-include" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 " "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -O2 " "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-O2 -g -O2 " "LIBCFLAGS_FOR_TARGET=-O2 -g -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/share/info" "libdir=/usr/lib" "includedir=/usr/include" "prefix=/usr" "tooldir=/usr/" "gxx_include_dir=/usr/include/c++/4.2" "AR=/usr/i686-pc-cygwin/bin/ar" "AS=/cygdrive/c/gcc-4_2-branch-build/./gcc/as" "LD=/cygdrive/c/gcc-4_2-branch-build/./gcc/collect-ld" "RANLIB=/usr/i686-pc-cygwin/bin/ranlib" "NM=/cygdrive/c/gcc-4_2-branch-build/./gcc/nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=/usr/i686-pc-cygwin/bin/nm" "DESTDIR=" "WERROR=" all-recursive make[3]: Entering directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3' Making all in include make[4]: Entering directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include' if [ ! -d ".//bits/stdc++.h.gch" ]; then \ mkdir -p .//bits/stdc++.h.gch; \ fi; \ /cygdrive/c/gcc-4_2-branch-build/./gcc/xgcc -shared-libgcc -B/cygdrive/c/gcc-4_2-branch-build/./gcc -nostdinc++ -L/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/src -L/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/src/.libs -B/usr//bin/ -B/usr//lib/ -isystem /usr//include -isystem /usr//sys-include -Winvalid-pch -Wno-deprecated -x c++-header -g -O2 -I/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/ -I/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include -I/cygdrive/C/makecygwin/gcc-4_2-branch/libstdc++-v3/libsupc++ -O0 -g /cygdrive/C/makecygwin/gcc-4_2-branch/libstdc++-v3/include/precompiled/stdc++.h -o bits/stdc++.h.gch/O0g.gch In file included from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/iosfwd:45, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/stl_algobase.h:70, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/algorithm:65, from /cygdrive/C/makecygwin/gcc-4_2-branch/libstdc++-v3/include/precompiled/stdc++.h:55: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/c++locale.h:69: error: '__locale_t' does not name a type /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/c++locale.h:76: error: expected ',' or '...' before '&' token /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/c++locale.h: In function 'int std::__convert_from_v(int)': /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/c++locale.h:91: error: '__fmt' was not declared in this scope /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/c++locale.h:96: error: '__out' was not declared in this scope In file included from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/ios_base.h:47, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/ios:48, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/ostream:45, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bitset:59, from /cygdrive/C/makecygwin/gcc-4_2-branch/libstdc++-v3/include/precompiled/stdc++.h:56: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h: At global scope: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:351: error: '__c_locale' does not name a type /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:382: error: '__c_locale' has not been declared /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:383: error: '__c_locale' has not been declared /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:385: error: '__c_locale' does not name a type /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:389: error: '__c_locale' has not been declared /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:393: error: '__c_locale' does not name a type In file included from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/basic_ios.h:44, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/ios:50, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/ostream:45, from /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bitset:59, from /cygdrive/C/makecygwin/gcc-4_2-branch/libstdc++-v3/include/precompiled/stdc++.h:56: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.h:68: error: expected ',' or '...' before '&' token /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.h:74: error: expected ',' or '...' before '&' token /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.h:79: error: expected ',' or '...' before '&' token /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.h:84: error: expected ',' or '...' before '&' token /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.h:685: error: '__c_locale' does not name a type Errors resulting from that issue continue to cause a few pages of warnings that would likely not be shown if that problem did not occur (so I deleted them from this report) - the end of the messages is this: /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.tcc:1556: error: there are no arguments to '_S_get_c_locale' that depend on a template parameter, so a declaration of '_S_get_c_locale' must be available /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.tcc: In member function 'virtual _OutIter std::money_put<_CharT, _OutIter>::do_put(_OutIter, bool, std::ios_base&, _CharT, long double) const': /cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_facets.tcc:1780: error: there are no arguments to '_S_get_c_locale' that depend on a template parameter, so a declaration of '_S_get_c_locale' must be available make[4]: *** [bits/stdc++.h.gch/O0g.gch] Error 1 make[4]: Leaving directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3/include' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3' make[2]: *** [all] Error 2 make[2]: Leaving directory `/cygdrive/c/gcc-4_2-branch-build/i686-pc-cygwin/libstdc++-v3' make[1]: *** [all-target-libstdc++-v3] Error 2 make[1]: Leaving directory `/cygdrive/c/gcc-4_2-branch-build' make: *** [all] Error 2 I'll look into this myself and see what I come up with. -- Summary: libstdc++-v3 - Make fails with: ./c++locale.h:69: error: '__locale_t' does not name a type Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31717