On Sat, 25 Jun 2011, Sven Joachim wrote:

tags 631592 + help
thanks

On 2011-06-25 09:37 +0200, Matthias Klose wrote:

Package: ncurses
Version: 5.9-1
Severity: important

ncurses should be configured with --with-termlib so that packages which do not
rely on the symbols exported by ncurses/ncursesw, but only on symbols found in
libtermlib.

I concur that this is desirable, but it breaks the ABI.  If we were to do
that, we could probably drop the non-wide development packages altogether.
There are some obstacles to an ABI break, because ncurses

- does not provide versioned symbols

My point of view here is that versioned symbols are essentially a Linux-specific feature which for quite a while was at best poorly documented. When it's been discussed before, I've suggested that people interested in the feature might send a patch, but recall being told to not bother - it's their problem, not mine.


- exports many (all?) internal symbols (those starting with _nc_)

- exposes many of these symbols in the public headers:
$ grep _nc_ /usr/include/ncursesw/*.h | wc -l
155

I think the relevant issue here is in ncurses.h (a much smaller number,
which can be dealt with on a case-by-case basis).

Considering how many libraries in Debian are linked against libncurses5
and that we have to retain libncurses5 for a very long time per LSB
compatibility and users' demand, I don't really have an idea how to
proceed.

Perhaps by starting with a proposal for symbol versioning, and applying
that to a package containing only libtinfo.

Not having a libtermlib would need proliferation of non-wide/wide
library builds for every library depending on ncurses/ncursesw. The first
library needing this is libreadline.

See http://bugs.debian.org/602720 for the initial report and the discussion with
the upstream author.  Building libtermlib seems to be the standard way to build
ncurses for other distributions.

By "other distributions" you seem to be referring to Fedora, who have
been building ncurses "--with-termlib" since 2007.  Opensuse and
Mandriva do not do this, I haven't looked at other distributions yet.

Oddly, I've gotten some feedback from Werner Fink for this area,
but agree that I don't see it as their default configuration.

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to