failed to build cygwin with itself

Thu Jul 26 17:19:00 GMT 2007

Dear Folks:

Thank you for cygwin!  It is a tool that I have been using for more  
than a decade now, and I'm glad of its existence.

Recently I patched what I think is a bug in poll(), and I want to  
test my patch before reporting it, but when I follow these instructions: 

I get this error output:

make[3]: Entering directory `/cygdrive/c/playground/cygwin/build/i686- 
g++  -c -nostdinc++  -DHAVE_CONFIG_H  -O2 -g -O2  -MMD  -fmerge- 
constants -ftracer  -Wall -Wstrict-aliasing -Wwrite-strings -fno- 
common -pipe -fbuiltin -fmessage-length=0  -I. -I/c/playground/cygwin/ 
src/winsup/cygwin/include -I/c/playground/cygwin/src/winsup/cygwin -I/ 
c/playground/cygwin/src/newlib/libc/include -I/c/playground/cygwin/ 
src/winsup/w32api/include -I../../../../src/winsup/cygwin/config/i386  
-I/usr/lib/gcc/i686-pc-cygwin/3.4.4/include -fno-rtti -fno-exceptions  
-o ./assert.o ../../../../src/winsup/cygwin/
../../../../src/winsup/cygwin/ In function `void __assert 
(const char*, int, const char*)':
../../../../src/winsup/cygwin/ error: `__assert_func'  
undeclared (first use this function)
../../../../src/winsup/cygwin/ error: (Each undeclared  
identifier is reported only once for each function it appears in.)
../../../../src/winsup/cygwin/ In function `void  
__assert_func(const char*, int, const char*, const char*)':
../../../../src/winsup/cygwin/ error: `void __assert_func 
(const char*, int, const char*, const char*)' used prior to declaration

The version of g++ that I have here is:

$ g++ --version
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

Grep tells me that __assert_func appears in the following places:

$ grep -r assert_func .
./winsup/cygwin/  __assert_func (file, line, NULL,  
./winsup/cygwin/ (const char *file, int line,  
const char *func,
./winsup/cygwin/ChangeLog:      * (__assert_func): New  
function, to match newlib header
./winsup/cygwin/ChangeLog:      * cygwin.din: Export __assert_func.
./winsup/cygwin/cygwin.din:__assert_func SIGFE

A glance at shows that __assert() calls __assert_func(),  
but that __assert_func() is not declared until after __assert() is  
defined.  What gives?




More information about the Cygwin-developers mailing list