Bug 61466 - readline-devel should require libtermcap-devel
readline-devel should require libtermcap-devel
Product: Red Hat Linux
Classification: Retired
Component: readline (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Tim Waugh
Jay Turner
Depends On:
  Show dependency treegraph
Reported: 2002-03-19 22:22 EST by Jim Radford
Modified: 2015-01-07 18:55 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2004-10-11 09:34:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Volker Urban 2004-10-11 08:57:47 EDT
This is true for the readline library, too. On a Fedora Core 1 system
I experienced similar problems with linking against the readline
library. The compiler does not complain but on runtime I get the error
that the libreadline.so.4 could not be loaded due to a relocation
error which comes due to a missing symbol: BC. This symbol is defined
in the libncurses or in the libtermcap. So one of them should be in
the requirements list for the libreadline.so.4. An `ldd
libreadline.so.4` on  for instance a Debian system brings up the
 libncurses.so.5 => /lib/libncurses.so.5 (0x40040000)
 libc.so.6 => /lib/tls/libc.so.6 (0x40080000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

The same on thing done on my Fedora Core 1 system delivers the
following output:
 libc.so.6 => /lib/tls/libc.so.6 (0x0091e000)
 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00906000)

Adding the -lncurses or -ltermcap option to the command line of gcc
also helps but in my understanding this isn't the things should go.

Comment 1 Tim Waugh 2004-10-11 09:34:12 EDT
I think it's up to the application to link to the right thing, not the
library, in this instance -- especially since two libraries both
provide the symbol in question.
Comment 2 Volker Urban 2004-10-11 10:04:44 EDT
But the application does not use the symbol directly. It just uses
symbols provided by the readline library and this library itself then
needs the symbol in question. So its in the responsibility of the
library creator to assure that all dependend libraries get loaded when
the library itself is used. Or should the application developer be
required to firgure out when he wants to use this or that library
which other libraries he also needs to get the one library he wants to
use to work?

Note You need to log in before you can comment on or make changes to this bug.