Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Feb 2020 10:27:37 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Thomas Dickey <dickey@his.com>
Cc:        Yasuhiro KIMURA <yasu@utahime.org>, freebsd-current@freebsd.org
Subject:   Re: r358062(ncurses) breaks installed ports, howto check?
Message-ID:  <20200225092737.sng6dqi64rqjm4sf@ivaldir.net>
In-Reply-To: <20200225091956.kolhkmml7f4e3bup@prl-debianold-64.jexium-island.net>
References:  <20200224202021.65ca7f64@thor.intern.walstatt.dynvpn.de> <20200225.043711.677660873587364878.yasu@utahime.org> <20200224232530.2ehw6l4blvqkgbd4@prl-debianold-64.jexium-island.net> <20200224233516.z6ateiibdm4hk36s@prl-debianold-64.jexium-island.net> <20200225012803.7zem2qml7kpfnh53@prl-debianold-64.jexium-island.net> <20200225091956.kolhkmml7f4e3bup@prl-debianold-64.jexium-island.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--pm2dnyda3nr3mg5j
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 25, 2020 at 04:19:56AM -0500, Thomas Dickey wrote:
> On Mon, Feb 24, 2020 at 08:28:03PM -0500, Thomas Dickey wrote:
> > On Mon, Feb 24, 2020 at 06:35:16PM -0500, Thomas Dickey wrote:
> > > On Mon, Feb 24, 2020 at 06:25:30PM -0500, Thomas Dickey wrote:
> > > > On Tue, Feb 25, 2020 at 04:37:11AM +0900, Yasuhiro KIMURA wrote:
> > > > > From: "O. Hartmann" <ohartmann@walstatt.org>
> > > > > Subject: r358062(ncurses) breaks installed ports, howto check?
> > > > > Date: Mon, 24 Feb 2020 20:19:59 +0100
> > > > >=20
> > > > > > After r358062, many installed ports do not work anymore on seve=
ral running systems (CURRENT).
> > > > > > /usr/src/UPDATING states one should reinstall all ncurses depen=
ding ports, but no hint is
> > > > > > given! Can someone mitigate this lack of information? Is there =
a simple way to check what
> > > > > > ports installed on a system rely on ncurses provided by the sys=
tem?
> > > > >=20
> > > > > Check thread starting with following message.
> > > > >=20
> > > > > https://lists.freebsd.org/pipermail/freebsd-ports/2020-February/1=
17710.html
> > > >=20
> > > > That's a start, but it gives an overly-broad approach, saying that
> > > > anything linked to the ncurses library has to be recompiled.
> > > >=20
> > > > The ABI change is just to the (upper-level) curses interface.
> > > > Most of the programs you'll have in ports use the (lower-level) ter=
mcap
> > > > or terminfo interfaces.
> > > >=20
> > > > For example gettext uses terminfo (not curses).
> > > >=20
> > > > Curses applications use initscr or newterm (nm helps).
> > > > I have a script which uses nm to tell me which interface is used.
> > > >=20
> > > > Actually, in my own ports, I don't see any which would be affected,
> > > > since all of the curses applications are the utilities for ncurses
> > > > (or for my testing of ncurses).
> > > >=20
> > > > Here's an example of what it tells me
> > > > (n5=3D=3Dncurses5, tc=3Dtermcap, ti=3Dterminfo):
> > > >=20
> > > > ti	bison
> > > > n5*+ti	captoinfo
> > > > n5*+ti	captoinfo6
> > > > n5*+ti	clear
> > > > n5*+ti	clear6
> > > > n5+tc	ded
> > > > n5+ti	dialog4ports
> > >=20
> > > actually this one isn't one of mine (needs to be recompiled)
> > >=20
> > > But for the rest - recompiling would be a waste of time.
> >=20
> > ...that's just looking at /usr/local/bin.  I see Millard's list
> > includes /usr/local/lib.  I have some of those:
> >=20
> > c3+tc	libXvMCr600.so
> > tc	libedit.so
> > tc	libedit.so.0
> > ti	libgettextsrc.so
> > tc	libreadline.so
> > tc	libslang.so
> > ti	libtextstyle.so
> > c3+tc   libvulkan_radeon.so
> >=20
> > that is, mesa-dri uses curses, but libedit and libreadline do not.
> >=20
> > I have llvm80, but that doesn't live in either of /usr/local/bin
> > or /usr/local/lib.  It's in its own directory (with a script in
> > the former pointing there).  It uses curses (and is not a quick
> > recompile).
>=20
> now... I discussed this briefly with the developer on the 20th of January.
>=20
> ncurses can be configured/built to use the old binary interface (ABI 5),
> but he ran into some problem doing that, and decided to use ABI 6.
>=20
> At the time, I had supposed that cost would be contained by the system
> builders, not considering the impact on users rebuilding ports.
>=20
> Depending on where FreeBSD is along that path, it might be worth
> revisiting, to see exactly why the build with ABI 5 did not work.
>=20
I think we should anyway move on on ABI 6, which is why I didn't insist on =
ABI 5
when I could not find the root cause of it not working. In the futur we will
update ncurses on more regular basis, and ABI 6 is what everyone else is us=
ing
so probably what is the most tested.

if I understand correctly upstream build system, staying on ABI 5 disable m=
any
features that are available in ABI 6.

For those interested my current plan with ncurses is the following for free=
bsd
13.0:
- split terminfo from ncurses (like the upstream build system) so a futur c=
hange
  in high level ABI will impact less consumers
- only keep the widechar version of ncurses in base
- add the pkgconf file in base to ease the ports tree.

Again for people who don't want to rebuild everything compat12x package has=
 been
created and can be used to have all binaries working.

Best regards,
Bapt

--pm2dnyda3nr3mg5j
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAl5U6IYACgkQY4mL3PG3
PloI3Q/+NNNfCPc9Fg6hHPMouM58+y80zCZRQPbf3Y5O75VnyrMAl9RdKgM8lh6G
RF0w0VLuoBVy4Q5GNSa6QdLqNjaoIwo2RX4Qstb3Gu2hzt4c3a4Oc/lQgk0lyQ7l
HxFk66tx4yfk0w9bdOBlJCGbLnPr3lC+GxTAlDDnsB0J1n2V5U5ekXRY0KDG6uFP
OFd4HAKDec4Vut1zJrIziUMiISxh1eWUWccKnKjXzA566G1Qz7aGOTLjC5v+gl3V
xfDAKqyF+SCu6xq0P0nvr9Q1PcDUkP80ruWBJsc9fvPaLKbzc34n5tQfG1drdD01
ryUbEwUxy4MnovDPr4/7ZwPYLoKHdPOpydY5HdYNpHPmVmHv4K8GhSDtBcN7NREE
/YLkYYARvHQTwSLMyGqJarxGbDWTuKKcrCroLG/ocspf7YeneVoVO1dL0Z1SRs6T
jhVmPr1YNp8OGJP9HZTGadM8nKpsN3xct4X2JHRKIXAe2PdTl/n187f45eYxl8uf
qR9T6V4bx4cRBDR7MWYNQx7o4atpLnkOap3KSExZLGibJMVx7leJmrCn3mQjm3lC
inMbOzvuN6SJqCXX8E0emo8hUgKw/Tmc4VIadKDubDbu5we5KMPmzuB/GQ/D1Tfc
cbjxlMfgQvQ5c8A+f5ogif64RQ5vmpj+daRwz4WIEosjURGiGX4=
=ZZuC
-----END PGP SIGNATURE-----

--pm2dnyda3nr3mg5j--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200225092737.sng6dqi64rqjm4sf>