curses header conflict
Till Plewe
till at plewe.is.tsukuba.ac.jp
Tue May 27 23:54:29 PDT 2003
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 */
More information about the freebsd-questions
mailing list