[illumos-Developer] 415 libreadline.so.5: symbol tgetent ... not found

Gordon Ross gordon.w.ross at gmail.com
Thu Jun 30 08:19:45 PDT 2011


I stumbled across an interesting problem caused (in part) by our
providing libtermcap as simply a link to libcurses.  See this thread:
  http://openindiana.org/pipermail/oi-dev/2011-June/000558.html

I'd like to propose replacing the libtermcap symlink with a "filter"
library as described here:
  http://openindiana.org/pipermail/oi-dev/2011-June/000567.html

Here's a webrev implementing this filter library:
    http://www.yalms.org/cr/libtermcap/

There's no backward compatibility problem with this because
existing applications actually record a binding to libcurses,
and libcurses itself does not need any changes in this work.
After this change, applications would still record a binding
with libcurses, but thanks to the filter, the bindings are such
that any other curses library linked in will take precedence.

With the above in place, we can "properly" fix libreadline
so that it uses whatever curses library its consumer uses,
only falling back to libcurses if the consumer does not link
any curses library.  And the fix does not require adding the
curses library to libreadline consumers who have no need
for curses functions.   (That will fix issue 415, etc.)

Thoughts?  Concerns?

Gordon



More information about the Developer mailing list