Bug 220998 - devel/readline: Linked with ncurses from base, even if ncurses from ports installed
Summary: devel/readline: Linked with ncurses from base, even if ncurses from ports ins...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-25 09:21 UTC by Oleh Hushchenkov
Modified: 2023-05-01 14:24 UTC (History)
2 users (show)

See Also:
takefu: maintainer-feedback+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Oleh Hushchenkov 2017-07-25 09:21:27 UTC
This cause a trouble, if port dependent on readline require ncurses and ncurses from ports installed. Ports dependent on readline, linked with both base and ports ncurses.

# ldd /usr/local/lib/libreadline.so.7
/usr/local/lib/libreadline.so.7:
        libncursesw.so.8 => /lib/libncursesw.so.8 (0x801251000)
        libc.so.7 => /lib/libc.so.7 (0x800824000)

Example devel/tig:
# ldd /usr/local/bin/tig
/usr/local/bin/tig:
        libreadline.so.7 => /usr/local/lib/libreadline.so.7 (0x800861000)
    >   libncursesw.so.6 => /usr/local/lib/libncursesw.so.6 (0x800ab2000)
        libtinfow.so.6 => /usr/local/lib/libtinfow.so.6 (0x800ce4000)
        libc.so.7 => /lib/libc.so.7 (0x800f1d000)
    >   libncursesw.so.8 => /lib/libncursesw.so.8 (0x8012d5000)

See ^ this.
Comment 1 Walter Schwarzenfeld freebsd_triage 2018-02-06 20:36:50 UTC
ping!
Comment 2 takefu 2023-05-01 01:21:04 UTC
(In reply to Walter Schwarzenfeld from comment #1)

The OS release number is not written, and it is already old, so should I close it?

The case has not occurred in the 12.4-RELEASE AMD64 environment.
Comment 3 Oleh Hushchenkov 2023-05-01 05:59:56 UTC
(In reply to takefu from comment #2)

> The OS release number is not written, and it is already old, so should I close it?
You are not one who opened it and not the maintainer. What are you talking about?

And it is still relevant.

FreeBSD 13.2-STABLE

Now readline links with base unconditionally.

ldd -a /usr/local/lib/libreadline.so.8
/usr/local/lib/libreadline.so.8:
	libncursesw.so.9 => /lib/libncursesw.so.9 (0x10bfe1ff1000)
	libc.so.7 => /lib/libc.so.7 (0x10bfe43e7000)
/lib/libncursesw.so.9:
	libc.so.7 => /lib/libc.so.7 (0x10bfe43e7000)
[preloaded]
	[vdso] (0x7ffffffff000)

While other ports that need ncurses and readline still linked with both base and ports ncurses.

ldd -a /usr/local/bin/tig          
/usr/local/bin/tig:
	libreadline.so.8 => /usr/local/lib/libreadline.so.8 (0x433dca5000)
	libncurses.so.6 => /usr/local/lib/libncurses.so.6 (0x433e689000)
	libtinfo.so.6 => /usr/local/lib/libtinfo.so.6 (0x433fdf5000)
	libpcre2-posix.so.3 => /usr/local/lib/libpcre2-posix.so.3 (0x433e8be000)
	libpcre2-8.so.0 => /usr/local/lib/libpcre2-8.so.0 (0x433f298000)
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/usr/local/lib/libreadline.so.8:
	libncursesw.so.9 => /lib/libncursesw.so.9 (0x4340cc2000)
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/usr/local/lib/libncurses.so.6:
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
	libtinfo.so.6 => /usr/local/lib/libtinfo.so.6 (0x433fdf5000)
/usr/local/lib/libtinfo.so.6:
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/usr/local/lib/libpcre2-posix.so.3:
	libpcre2-8.so.0 => /usr/local/lib/libpcre2-8.so.0 (0x433f298000)
	libthr.so.3 => /lib/libthr.so.3 (0x434265a000)
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/usr/local/lib/libpcre2-8.so.0:
	libthr.so.3 => /lib/libthr.so.3 (0x434265a000)
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/lib/libncursesw.so.9:
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
/lib/libthr.so.3:
	libc.so.7 => /lib/libc.so.7 (0x43407be000)
[preloaded]
	[vdso] (0x7ffffffff000)

However this issues is broader that devel/readline.