Date: Wed, 28 May 2003 15:54:33 +0900 From: Till Plewe <till@plewe.is.tsukuba.ac.jp> To: questions@freebsd.org Subject: curses header conflict Message-ID: <20030528065433.GA36069@plewe.is.tsukuba.ac.jp>
next in thread | raw e-mail | index | archive | help
When trying to install python2.3 on either stable or current the curses module doesn't build. I get the following compiler complaints: STABLE (line numbers in brackets are from CURRENT) /usr/include/ncurses.h:236(289): conflicting types for `wchar_t' /usr/include/stdlib.h:58(57): previous declaration of `wchar_t' /usr/include/ncurses.h:239(292): conflicting types for `wint_t' /usr/include/wchar.h:89(96): previous declaration of `wint_t' Can somebody explain what the differrence between_WCHAR_T and _BSD_WCHAR_T is? I appended relevant parts of these header files from STABLE. Simply deleting lines 234-240 of /usr/include/ncurses.h works (The curses module builds without problems.) However I would much rather learn the reason for the various definitions of wchar_t stlib.h l.56-61: =============== #ifndef __cplusplus #ifdef _BSD_WCHAR_T_ typedef _BSD_WCHAR_T_ wchar_t; #undef _BSD_WCHAR_T_ #endif #endif wchar.h l.77-91: =============== #ifdef _BSD_WCHAR_T_ typedef _BSD_WCHAR_T_ wchar_t; #undef _BSD_WCHAR_T_ #endif #endif #ifdef _BSD_MBSTATE_T_ typedef _BSD_MBSTATE_T_ mbstate_t; #undef _BSD_MBSTATE_T_ #endif #ifdef _BSD_WINT_T_ typedef _BSD_WINT_T_ wint_t; #undef _BSD_WINT_T_ #endif ncurses.h l.234-240: =================== #ifdef _XOPEN_SOURCE_EXTENDED #ifndef _WCHAR_T typedef unsigned long wchar_t; #endif /* _WCHAR_T */ #ifndef _WINT_T typedef long int wint_t; #endif /* _WINT_T */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030528065433.GA36069>