Skip site navigation (1)Skip section navigation (2)
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>