From owner-freebsd-questions@FreeBSD.ORG Tue May 27 23:54:28 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EC69E37B401 for ; Tue, 27 May 2003 23:54:28 -0700 (PDT) Received: from plewe.is.tsukuba.ac.jp (plewe.is.tsukuba.ac.jp [130.158.81.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id AF2BC43F93 for ; Tue, 27 May 2003 23:54:27 -0700 (PDT) (envelope-from till@plewe.is.tsukuba.ac.jp) Received: from plewe.is.tsukuba.ac.jp (localhost [127.0.0.1]) h4S6sX2e085822; Wed, 28 May 2003 15:54:34 +0900 (JST) (envelope-from till@plewe.is.tsukuba.ac.jp) Received: (from till@localhost) by plewe.is.tsukuba.ac.jp (8.12.8/8.12.8/Submit) id h4S6sXT1085821; Wed, 28 May 2003 15:54:33 +0900 (JST) Date: Wed, 28 May 2003 15:54:33 +0900 From: Till Plewe To: questions@freebsd.org Message-ID: <20030528065433.GA36069@plewe.is.tsukuba.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i-ja.1 Subject: curses header conflict X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: till@score.is.tsukuba.ac.jp List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2003 06:54:29 -0000 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 */