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-main
mailing list