I'm trying to cross build the Cygwin source on a VirtualBox Arch Linux with GCC-7.3.0 and Binutils 2.31. The process I am using clones the master repository and then does a checkout of the release tag. Here is the configure command from the head of the config.log.
``` $ head /home/cygsimple/src/sf/build/newlib-cygwin/build/config.log | grep newlib-cygwin-2.11.1/configure $ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/configure --prefix=/usr --host=x86_64-pc-cygwin --build=x86_64-pc-linux-gnu --target=x86_64-pc-cygwin --sysconfdir=/etc --sharedstatedir=/var --localstatedir=/var ``` With this I get the following errors when compiling _cygwin_crt0_common.cc: ``` c++wrap -pedantic -fomit-frame-pointer -m64 -O2 -g -fno-rtti -fno-exceptions -fno-use-cxa-atexit -Wall -Wstrict-aliasing -Wwrite-strings -fno-common -pipe -fbuiltin -fmessage-length=0 -MMD -Werror -fmerge-constants -ftracer -mcmodel=small -std=gnu++98 -c -o _cygwin_crt0_common.o /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:104:0, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/wchar.h:12:2: error: #include_next is a GCC extension [-Werror] #include_next <wchar.h> ^~~~~~~~~~~~ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/cygtls.h:284:0, from ./globals.h:5, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h:1671:60: error: use of C++11 long long integer constant [-Werror=long-long] fbi.LastWriteTime.QuadPart = fbi.ChangeTime.QuadPart = 0LL; ^~~ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:25: , from ./globals.h:7, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:112:51: error: ISO C++ does not permit named variadic macros [-Werror=variadic-macros] #define MKSID(name, comment, authority, count, rid...) \ ^~~ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:28: , from ./globals.h:7, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/cygwait.h:42:31: error: use of C++11 long long integer constant [-Werror=long-long] li_howlong.QuadPart = -(10000ULL * howlong); ^~~~~~~~ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:80: , from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/wincap.h:30:3: error: ISO C++ prohibits anonymous structs [-Werror=pedantic] }; ^ In file included from ./globals.h:5:0, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/cygtls.h:58:2: error: ISO C++ prohibits anonymous structs [-Werror=pedantic] }; ^ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/cygtls.h:284:0, from ./globals.h:5, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h:291:33: error: comma at end of enumerator list [-Werror=pedantic] SystemPagefileInformation = 18, ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h:366:15: error: comma at end of enumerator list [-Werror=pedantic] StateUnknown, ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h: In function 'NTSTATUS NtSetAttributesFile(HANDLE, ULONG)': /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h:1672:32: error: ISO C++ does not allow ?: with omitted middle operand [-Werror=pedantic] fbi.FileAttributes = attr ?: FILE_ATTRIBUTE_NORMAL; ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/ntdll.h:1672:31: error: ISO C++ forbids omitting the middle term of a ?: expression [-Werror=pedantic] fbi.FileAttributes = attr ?: FILE_ATTRIBUTE_NORMAL; ^ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:30: , from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h: In member function 'void cygpsid::debug_print(const char*) const': /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:181:38: error: ISO C++ does not allow ?: with omitted middle operand [-Werror=pedantic] debug_printf ("%s %s", prefix ?: "", string (buf) ?: "NULL"); ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:181:37: error: ISO C++ forbids omitting the middle term of a ?: expression [-Werror=pedantic] debug_printf ("%s %s", prefix ?: "", string (buf) ?: "NULL"); ~~~~~~~^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:181:58: error: ISO C++ does not allow ?: with omitted middle operand [-Werror=pedantic] debug_printf ("%s %s", prefix ?: "", string (buf) ?: "NULL"); ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:181:57: error: ISO C++ forbids omitting the middle term of a ?: expression [-Werror=pedantic] debug_printf ("%s %s", prefix ?: "", string (buf) ?: "NULL"); ~~~~~~~~~~~~~^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h: In member function 'void cygsid::debug_print(const char*) const': /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:258:40: error: ISO C++ does not allow ?: with omitted middle operand [-Werror=pedantic] debug_printf ("%s %s%s", prefix ?: "", string (buf) ?: "NULL", well_known_sid ? " (*)" : " (+)"); ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:258:39: error: ISO C++ forbids omitting the middle term of a ?: expression [-Werror=pedantic] debug_printf ("%s %s%s", prefix ?: "", string (buf) ?: "NULL", well_known_sid ? " (*)" : " (+)"); ~~~~~~~^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:258:60: error: ISO C++ does not allow ?: with omitted middle operand [-Werror=pedantic] debug_printf ("%s %s%s", prefix ?: "", string (buf) ?: "NULL", well_known_sid ? " (*)" : " (+)"); ^ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/security.h:258:59: error: ISO C++ forbids omitting the middle term of a ?: expression [-Werror=pedantic] debug_printf ("%s %s%s", prefix ?: "", string (buf) ?: "NULL", well_known_sid ? " (*)" : " (+)"); ~~~~~~~~~~~~~^~~~ In file included from ./globals.h:7:0, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h: At global scope: /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:657:37: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long] static sem_t *open (unsigned long long hash, LUID luid, int fd, int oflag, ^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:666:63: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long] static int getinternal (sem_t *sem, int *sfd, unsigned long long *shash, ^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:674:17: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long] unsigned long long hash; ^~~~ /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/thread.h:679:28: error: ISO C++ 1998 does not support 'long long' [-Werror=long-long] semaphore (unsigned long long, LUID, int, sem_t *, int, mode_t, unsigned int); ^~~~ In file included from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/winsup.h:287:0, from /home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/lib/_cygwin_crt0_common.cc:9: ./globals.h:119:2: error: extra ';' [-Werror=pedantic] }; ^ cc1plus: all warnings being treated as errors make[3]: *** [/home/cygsimple/src/sf/build/newlib-cygwin/src/newlib-cygwin-2.11.1/winsup/cygwin/../Makefile.common:41: _cygwin_crt0_common.o] Error 1 make[3]: Leaving directory '/home/cygsimple/src/sf/build/newlib-cygwin/src/build/x86_64-pc-cygwin/winsup/cygwin' make[2]: *** [Makefile:81: cygwin] Error 1 make[2]: Leaving directory '/home/cygsimple/src/sf/build/newlib-cygwin/src/build/x86_64-pc-cygwin/winsup' make[1]: *** [Makefile:9464: all-target-winsup] Error 2 make[1]: Leaving directory '/home/cygsimple/src/sf/build/newlib-cygwin/src/build' make: *** [Makefile:883: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ``` It appears that c++wrap isn't choosing the correct compiler but how can I tell and change that? -- cyg Simple -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple