[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