Project

General

Profile

Actions

Bug #1206

closed

link libreadline with the new libtermcap (filter) library

Added by Gordon Ross over 12 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
OI-Userland
Target version:
Start date:
2011-07-12
Due date:
2011-09-14
% Done:

100%

Estimated time:
8.00 h
Difficulty:
Bite-size
Tags:
termcap

Description

illumos issue 1168 introduces a new libtermcap "fiter" library
that allows libreadline to pull just what it needs from libcurses,
and do so in a way that does not bind consumers of libreadline
to any particular curses library.

In order to avoid the need to add -ltermcap or -lcurses to all
applications that link with libreadline, we should build our
libreadline to have a dependency on this new filter library.

Note that fixing 1168 is a prerequisite for this issue.


Files

readline-5-2.patch (799 Bytes) readline-5-2.patch Gordon Ross, 2011-07-15 02:38 PM
Actions #1

Updated by Gordon Ross over 12 years ago

Note: issue 1168 is fixes as of illumos 71e59c2d8715
so this can now go ahead at any time.

The patch attached is for readline in the userland gate.
(readline-5-2.patch)

Actions #2

Updated by Julian Wiesener over 12 years ago

  • Category set to 10
  • Assignee set to OI SFW
  • Target version set to oi_151_stable
  • % Done changed from 0 to 80
  • Tags changed from needs-triage to termcap

just need to be integrated, testing looked good

Actions #3

Updated by Ken Mays about 12 years ago

  • Due date set to 2011-09-14
  • Assignee changed from OI SFW to OI Userland
  • Priority changed from Normal to High
  • Estimated time set to 8.00 h
  • Difficulty changed from Medium to Bite-size
Actions #4

Updated by Jon Tibble over 11 years ago

  • Status changed from New to Feedback

Patch applied in prestable5. Just need confirmation from someone in the know that this is now fixed.

Actions #5

Updated by Milan Jurik over 11 years ago

If this had to fix cadaver issue then not:

$ uname -a
SunOS xylabone 5.11 oi_151a5 i86pc i386 i86pc
$ cadaver
ld.so.1: cadaver: fatální: relocation error: file /usr/lib/libreadline.so.5: symbol tgetent: referenced symbol not found
Killed

Actions #6

Updated by Gordon Ross over 11 years ago

Unfortunately, looks like the patch didn't work when Jon built it.
I wonder why? When I build with the attached patch in place as

  components/readline/patches/shobj-conf.patch

and then build components/readline, the resulting library shows:
$ elfdump -d build/i86/shlib/libreadline.so.5

Dynamic Section:  .dynamic
     index  tag                value
       [0]  NEEDED            0x30fd              libc.so.1
       [1]  POSFLAG_1         0x1                 [ LAZY ]
       [2]  NEEDED            0x3139              libtermcap.so.1
       [3]  SONAME            0x1                 libreadline.so.5

Note libtermcap.so.1 in the list above, but missing in oi_151a5 (and earlier).

Actions #7

Updated by Jon Tibble about 11 years ago

  • Status changed from Feedback to Resolved
  • Assignee changed from OI Userland to Jon Tibble
  • % Done changed from 80 to 100

Apparently stuff doesn't get patched if you leave it out of the Makefile!!

Fixed in oi_151a6

Actions

Also available in: Atom PDF