the new readline-5.0 ebuild installes the libs in /usr/lib rather than /lib. The configure scripts for postgres and php look for readline in /lib. The old readline-5.0 installs the libs in /lib. Reproducible: Always Steps to Reproduce: 1.need a fresh system 2.try to emerge php or postgresql 3. Actual Results: failed compile Expected Results: completed compile Why was the ebuild not reved up?
Created attachment 37755 [details] Old ebuild
Created attachment 37756 [details] New Ebuild
the shared libraries need to be in /lib with linker scripts in /usr/lib i'm sure this is just something Lv didnt mean to screw up ... either way, please fix this Lv and rev bump so the few people you broke can become un-broken
it was always configured to use /usr/lib, the ebuild just copied the files over. it still does. ayanami readline # file /lib/libreadline.so.5.0 /lib/libreadline.so.5.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped closing bug as worksforme. feel free to re-open if you can explain better what the problem is.
The reason you have the so in /lib is because of the previous version of readline-5.0. The old libs do not get removed because of the failure to rev the ebuild! I have repeated this on 2 fresh builds.
an emerge will clean out the previous instance even without a revision bump, and i had 4.x installed. but just to make you happy: ayanami readline # CONF_LIBDIR="" ebuild readline-5.0.ebuild clean unpack compile install (compile messages) ayanami readline # file /var/tmp/portage/readline-5.0/image/lib/libreadline.so.5.0 /var/tmp/portage/readline-5.0/image/lib/libreadline.so.5.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not stripped so, it installs readline to lib in the image it's about to merge to root. the file that it installs to /usr/lib/ is just a linker script that points to lib: ayanami readline # file /var/tmp/portage/readline-5.0/image/usr/lib/libreadline.so /var/tmp/portage/readline-5.0/image/usr/lib/libreadline.so: ASCII C program text ayanami readline # cat /var/tmp/portage/readline-5.0/image/usr/lib/libreadline.so /* GNU ld script Because Gentoo have critical dynamic libraries in /lib, and the static versions in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we run into linking problems. See bug #4411 on http://bugs.gentoo.org/ for more info. */ GROUP ( /lib/libreadline.so ) re-closing bug as invalid.