git: 821aa63a0940 - main - ncurses: only keep the version with widechar support

Gordon Bergling gbe at freebsd.org
Thu Jan 7 07:28:47 UTC 2021


On Wed, Jan 06, 2021 at 04:29:32PM +0100, Gordon Bergling wrote:
> On Tue, Jan 05, 2021 at 01:02:04PM +0000, Baptiste Daroussin wrote:
> > The branch main has been updated by bapt:
> > 
> > URL: https://cgit.FreeBSD.org/src/commit/?id=821aa63a09402935da0a73abf20ba0441562aa07
> > 
> > commit 821aa63a09402935da0a73abf20ba0441562aa07
> > Author:     Baptiste Daroussin <bapt at FreeBSD.org>
> > AuthorDate: 2021-01-04 16:29:40 +0000
> > Commit:     Baptiste Daroussin <bapt at FreeBSD.org>
> > CommitDate: 2021-01-05 13:01:32 +0000
> > 
> >     ncurses: only keep the version with widechar support
> >     
> >     Only keep the widechar version of ncurses as libncursesw.so.9
> >     
> >     Keep the old name to avoid breaking the ABI compatibility (the non
> >     widechar version libncurses.so.9 is not binary compatible with
> >     libncursesw.so.9) since all ports and base are already only linking
> >     against the widechar version we can simply remove libncurses.so.9
> >     
> >     Since the .9 version only lived in the dev branch and never ended in a
> >     release, it is simply removed and not added to any binary compat
> >     package.
> >     
> >     Add symlinks to keep build time compatibility for anyone linking against
> >     -lncurses
> > ---
> >  Makefile.inc1                         |  5 +--
> >  Makefile.libcompat                    |  4 +-
> >  ObsoleteFiles.inc                     |  2 +
> >  lib/ncurses/Makefile                  |  6 +--
> >  lib/ncurses/config.mk                 | 11 +-----
> >  lib/ncurses/form/Makefile             | 18 ++++++---
> >  lib/ncurses/formw/Makefile            |  5 ---
> >  lib/ncurses/formw/Makefile.depend     | 17 ---------
> >  lib/ncurses/menu/Makefile             | 18 ++++++---
> >  lib/ncurses/menuw/Makefile            |  5 ---
> >  lib/ncurses/menuw/Makefile.depend     | 17 ---------
> >  lib/ncurses/ncurses/Makefile          | 71 +++++++++++++++--------------------
> >  lib/ncurses/ncursesw/Makefile         |  7 ----
> >  lib/ncurses/ncursesw/Makefile.depend  | 16 --------
> >  lib/ncurses/panel/Makefile            | 23 ++++++++----
> >  lib/ncurses/panelw/Makefile           |  5 ---
> >  lib/ncurses/panelw/Makefile.depend    | 17 ---------
> >  share/mk/src.libnames.mk              | 16 ++------
> >  tools/bsdbox/Makefile.base            |  2 +-
> >  tools/tools/ath/athratestats/Makefile |  2 +-
> >  20 files changed, 87 insertions(+), 180 deletions(-)
> [...]
> 
> This also breaks the build on arm64. I had NO_CLEAN=yes applied, but this error
> is generated after a 'make clean cleandepend'. The src.conf is the following,
> 
> WITH_MALLOC_PRODUCTION=1
> WITH_EXTRA_TCP_STACKS=1
> WITH_BEARSSL=1
> WITH_PIE=1
> WITH_RETPOLINE=1
> 
> Is there anything else I can do?
> 
> -------------------------------------------------------------------------------
> ===> cddl/lib/libnvpair (obj,all,install)
> In file included from /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:37:
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2062:40: error: a parameter list without types is only allowed
> in a function definition
> extern NCURSES_EXPORT(int) _nc_to_char(wint_t);
>                                        ^
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2063:23: error: unknown type name 'wint_t'
> extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int);
>                       ^
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:2322:61: error: unknown type name 'mbstate_t'; did you mean '__
> mbstate_t'?
> extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *);
>                                                             ^~~~~~~~~
>                                                             __mbstate_t
> /tank/nfs_public/tiny/obj/tank/nfs_public/tiny/src/arm64.aarch64/tmp/usr/include/sys/_types.h:124:3: note: '__mbstate_t' declar
> ed here
> } __mbstate_t;
>   ^
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:46:34: error: excess elements in struct initializer [-
> Werror,-Wexcess-initializers]
> static const cchar_t blankchar = NewChar(BLANK_TEXT);
>                                  ^~~~~~~~~~~~~~~~~~~
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1537:21: note: expanded from macro 'NewChar'
> #define NewChar(ch)     NewChar2(ChCharOf(ch), ChAttrOf(ch))
>                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1536:43: note: expanded from macro 'NewChar2'
> #define NewChar2(c,a)   { a, { c, NulChar } NulColor }
>                                             ^~~~~~~~
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:1523:20: note: expanded from macro 'NulColor'
> #define NulColor        , 0
>                           ^
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/widechar/lib_add_wch.c:66:16: error: no member named 'ext_color' in 'cchar_t'
>     int pair = GetPair(ch);
>                ^~~~~~~~~~~
> /tank/nfs_public/tiny/src/contrib/ncurses/ncurses/curses.priv.h:479:42: note: expanded from macro 'GetPair'
> #define GetPair(value)          GetPair2((value).ext_color, AttrOf(value))
>                                 ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
> -------------------------------------------------------------------------------

If someone is facing the same problem, this could fixed by deleting the whole content of the obj-directory.

--Gordon


More information about the dev-commits-src-all mailing list