[BusyBox] conflicting types for `bool'...

Erik Andersen andersen at codepoet.org
Thu Dec 5 13:50:05 UTC 2002


On Thu Dec 05, 2002 at 08:25:12PM +0100, Steven Scholz wrote:
[--------snip-------]
> -DCURSES_LOC="<ncurses.h>" -I. -c mconf.c -o mconf.o
> In file included from expr.h:15,
>                  from lkc.h:9,
>                  from mconf.c:29:
> /usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stdbool.h:11: conflicting types
> for `bool'
> /usr/include/ncurses.h:103: previous declaration of `bool'
> make[1]: *** [mconf.o] Error 1
[--------snip-------]
> My /usr/include/ncurses.h contains the lines
[--------snip-------]

In my /usr/include/ncurses.h it contains some additional comments:

/* XSI and SVr4 specify that curses implements 'bool'.  However, C++ may also
 * implement it.  If so, we must use the C++ compiler's type to avoid conflict
 * with other interfaces.
 *
 * A further complication is that <stdbool.h> may declare 'bool' to be a
 * different type, such as an enum which is not necessarily compatible with
 * C++.  If we have <stdbool.h>, make 'bool' a macro, so users may #undef it.
 * Otherwise, let it remain a typedef to avoid conflicts with other #define's.
 * In either case, make a typedef for NCURSES_BOOL which can be used if needed
 * from either C or C++.
 */

and the implementation is different to avoid the gratuitous
conflict with stdbool.h.  I'm using Debian with libncurses5-dev
5.2.20020112a-8 here and it works.  So whatever version of
ncurses you are using, it is too old/broken...

> The snapshot busybox-unstable-20021205.tar.bz2 is still working!

I have entirely changed the config system.  It should _act_ the
same, but the implementation is totally different.

 -Erik

--
Erik B. Andersen             http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--



More information about the busybox mailing list