I'm using portage-2.2_pre*. After upgrading to sys-libs/readline-6.0,
portage (naturally) kept /lib/libreadline.so.5 -> /lib/libreadline.so.5.2,
because a lot of programs needed it. I did emerge @preserved-rebuild, and
only one binary using libreadline.so.5.2 left: /usr/bin/gp, the
interactive interpreter of sci-mathematics/pari. Re-emerging it does not
help: headers from readline-6 are used, but the program links wirh
libreadline.so.5.2. I thought something is wrong in the pari's configure.
This package does not use autoconf, but a hand-written Configure script.
It seems all right. Then I found that /lib/libreadline.so symlink still
points to libreadline.so.5. This confuses the pari's Configure. I made it
to point to libreadline.so.6 by hand, and re-emerged pari. OK, gp now
links with libreadline.so.6.0. Why doesn't readline-6.0 ebuild install
this symlink?
After this re-emerging of pari, portage said
!!! existing preserved libs:
package: sys-libs/readline-6.0_p3
* - /lib/libreadline.so
* used by /usr/bin/M2 (sci-mathematics/Macaulay2-1.2-r3)
* used by /usr/bin/Singular-3-0-4 (sci-mathematics/singular-3.0.4.4)
* used by /usr/bin/asy (media-gfx/asymptote-1.86)
* used by 111 other files
I already re-emerged these packages (at least, 3 shown) as a part of
emerging @preserved-rebuild after upgrading readline, and they were not in
the @preserved-rebuild set before I changed the libreadline.so symlink.
Does this mean that all of these packages used libreadline.so ->
libreadline.so.5? This is not good. I'm going to emerge @preserved-rebuild
again, to be sure that my system is in a self-consistent state.
It seems that keeping libreadline.so -> libreadline.so.5 after merging
readline-6.0 and unmerging readline-5.2 is a bad idea.
Andrey