[Pkg-gpm-devel] Bug#274673: libgpmg1: libgpm should not depend upon libncurses

Guillem Jover Guillem Jover <guillem@debian.org>, 274673@bugs.debian.org
Sat, 16 Oct 2004 22:02:27 +0200


reopen 274673
thanks

On Wed, Oct 06, 2004 at 07:55:16PM -0400, Thomas Dickey wrote:
> On Wed, 6 Oct 2004, Peter Samuelson wrote:
> > [Thomas Dickey]
> > > libgpm's curses wrapper links to ncurses (uses wgetch).  That makes a
> > > circular dependency which makes it hard to build an ncurses that uses
> > > libgpm.
> >
> > So you can have libgpm with ncurses support, or ncurses with libgpm
> > support, but it's tricky to try and have both.
> 
> yes - if you build libgpm with Gpm_Wgetch, it will link against the
> installed copy of ncurses, which isn't necessarily the version you're
> trying to build.  (Well, it "works", but is not recommended).
> 
> > Sounds like a good case to disable -lncurses in libgpm.
> 
> On the whole, I'd rather fix things from that end than try to
> make ncurses install gracefully where libgpm thinks it's already
> linked to ncurses.

I've reverted that change as it breaks the ABI. We are thinking on
alternative ways to not link against ncurses but still not break
the ABI, and ideally keep providing a working function.

We are balancing the following options (preliminary order of
preference):

 * Using weak symbols for getch and wgetch in libgpm.
 * Loading ncurses dynamically if needed.
 * Provide an empty noop function for Gpm_Wgetch.
 * Removing the function and increasing the soname, making it
   icompatible with all other implementations, we could use
   versioned symbols in this case as well.

Thomas if you have another suggestion please tell us, before we
deploy it.

regards,
guillem