A native i386-pc-mingw32 bootstrap of mainline fails in libstdc++-v3 with: libtool: compile: /home/FX/ibin/./gcc/xgcc -shared-libgcc -B/home/FX/ibin/./gcc -nostdinc++ -L/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/src -L/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/src/.libs -L/home/FX/ibin/i386-pc-mingw32/winsup/mingw -L/home/FX/ibin/i386-pc-mingw32/winsup/w32api/lib -isystem /home/FX/trunk/winsup/mingw/include -isystem /home/FX/trunk/winsup/w32api/include -B/mingw/i386-pc-mingw32/bin/ -B/mingw/i386-pc-mingw32/lib/ -isystem /mingw/i386-pc-mingw32/include -isystem /mingw/i386-pc-mingw32/sys-include -I/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/include/i386-pc-mingw32 -I/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/include -I/home/FX/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -std=gnu++0x -c ../../../../trunk/libstdc++-v3/src/system_error.cc -DDLL_EXPORT -DPIC -o .libs/system_error.o In file included from ../../../../trunk/libstdc++-v3/src/system_error.cc:32: C:/msys/1.0.10/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/include/system_error:58: error: 'EAFNOSUPPORT' was not declared in this scope C:/msys/1.0.10/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/include/system_error:59: error: 'EADDRINUSE' was not declared in this scope C:/msys/1.0.10/home/FX/ibin/i386-pc-mingw32/libstdc++-v3/include/system_error:60: error: 'EADDRNOTAVAIL' was not declared in this scope and lots others. The full list of missing macros is: EAFNOSUPPORT EADDRINUSE EADDRNOTAVAIL EISCONN EBADMSG ECONNABORTED EALREADY ECONNREFUSED ECONNRESET EDESTADDRREQ EHOSTUNREACH EIDRM EMSGSIZE ENETDOWN ENETRESET ENETUNREACH ENOBUFS ENOLINK ENODATA ENOMSG ENOPROTOOPT ENOSR ENOTSOCK ENOSTR ENOTCONN ENOTSUP ECANCELED EINPROGRESS EOPNOTSUPP EWOULDBLOCK EPROTO EPROTONOSUPPORT ETIME ETXTBSY ETIMEDOUT ELOOP EOVERFLOW EPROTOTYPE It's been a long time since I last bootstrapped with C++ on i386-pc-mingw32, but this seems to have been introduced by: 2007-08-23 Benjamin Kosnik <bkoz@redhat.com> * include/std/system_error: New file.
I'll have to come up with some other solution when these POSIX macros aren't available.
A patch is at: http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00310.html Danny
Subject: Bug number PR libstdc++/33203 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00310.html
Subject: Bug 33203 Author: dannysmith Date: Fri Sep 7 04:18:40 2007 New Revision: 128228 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128228 Log: PR libstdc++/33203 * configure.host (error_constants_dir): New variable, defaulting to os/generic. ( mingw32*): Overide default. * configure.ac (ERROR_CONSTANTS_SRCDIR): New. * configure: Regenerate. * include/Makefile.am (host_headers): Add $(ERROR_CONSTANTS_SRCDIR)/error_constants.h . * include/Makefile.in: Regenerate. * include/std/system_error (enum posix_errno): Remove. Include <bits/error_constants.h> instead. * config/os/mingw32/error_constants.h: New. * config/os/generic/error_constants.h: New. Added: trunk/libstdc++-v3/config/os/generic/error_constants.h trunk/libstdc++-v3/config/os/mingw32/error_constants.h Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/configure trunk/libstdc++-v3/configure.ac trunk/libstdc++-v3/configure.host trunk/libstdc++-v3/include/Makefile.am trunk/libstdc++-v3/include/Makefile.in trunk/libstdc++-v3/include/std/system_error
Fixed. Danny