This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
failed to build cygwin with itself
- From: zooko <zooko at zooko dot com>
- To: cygwin-developers at cygwin dot com
- Date: Thu, 26 Jul 2007 11:19:06 -0600
- Subject: failed to build cygwin with itself
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:
http://www.cygwin.com/faq/
faq.programming.html#faq.programming.building-cygwin
I get this error output:
-------
make[3]: Entering directory `/cygdrive/c/playground/cygwin/build/i686-
pc-cygwin/winsup/cygwin'
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/assert.cc
../../../../src/winsup/cygwin/assert.cc: In function `void __assert
(const char*, int, const char*)':
../../../../src/winsup/cygwin/assert.cc:26: error: `__assert_func'
undeclared (first use this function)
../../../../src/winsup/cygwin/assert.cc:26: error: (Each undeclared
identifier is reported only once for each function it appears in.)
../../../../src/winsup/cygwin/assert.cc: In function `void
__assert_func(const char*, int, const char*, const char*)':
../../../../src/winsup/cygwin/assert.cc:32: 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.cc: __assert_func (file, line, NULL,
failedexpr);
./winsup/cygwin/assert.cc:__assert_func (const char *file, int line,
const char *func,
./winsup/cygwin/ChangeLog: * assert.cc (__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 assert.cc shows that __assert() calls __assert_func(),
but that __assert_func() is not declared until after __assert() is
defined. What gives?
Thanks!
Regards,
Zooko