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: Closed Not Accepted
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-08-29 09:41 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.
Comment 4 Oleh Hushchenkov 2023-08-29 09:41:14 UTC
I'm going to close this one.
Some one did set maintainer-feedback to "+", but there is no any feedback from the maintainer for six years.
I expected to see from the maintainer, at least, feedback about possibility to add an option to explicitly use base/ports ncurses libs.
Probably the maintainer is very busy.

The issue is wider than this one port. Software from FreeBSD ports links to base/ports ncurses in a messy way.

The same for all duplicated in base system libraries, such as openssl. But for openssl one can add DEFAULT_VERSIONS+=ssl=openssl into /etc/make.conf and it works.