Woke up this morning and found that fontconfig and qt had been masked, so I went: root@entropy portage # emerge -k fontconfig && emerge -k qt root@entropy portage # etc-update root@entropy portage # emerge rpm ... app-arch/rpm selected: 4.2 protected: 4.2_pre069 omitted: none ... root@entropy portage # emerge rsync >>> starting rsync with rsync://rsync.gentoo.org/gentoo-portage... /usr/bin/rsync: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory When it was unmerging rpm 4.2 after putting 4.2 pre069 on I can see that it did: <<< obj /usr/lib/libpopt.so.0.0.0 <<< obj /usr/lib/libpopt.la <<< obj /usr/lib/libpopt.a and --- !mtime obj /usr/bin/gendiff <<< sym /usr/lib/libpopt.so.0 <<< sym /usr/lib/libpopt.so <<< dir /usr/share/locale/eu_ES/LC_MESSAGES <<< dir /usr/share/locale/eu_ES <<< dir /usr/share/doc/rpm-4.2
I wonder why rsync even links to popt?
This is because; useable root # qpkg -f /usr/lib/libpopt.so.0 dev-libs/popt and also because the old, wrong, rpm-4.2 package also provided /usr/lib/libpopt.so.0 and overwrote the library provided by popt. So when rpm-4.2 is uninstalled it takes the library with it. I have fixed the installation of /usr/lib/libpopt.so.0 in rpm-4.2_pre069, with the result being what you have seen here, fix: "emerge --oneshot popt" Shall I just bump the popt -r? version to force everyone to do so ???
A related problem with rpm, discovered trying to update Win4Lin: # rpm -Uvh /var/win4lin/installer_tmp/Win4Lin-5.3.21a-d.i386.rpm error: Failed dependencies: /bin/sh is needed by Win4Lin-5.3.21a-d # ll /bin/sh lrwxrwxrwx 1 root root 4 2003-03-14 19:07 /bin/sh -> bash
That last comment is not a bug, portage does not share it's file index with rpm. Thus you will always have to use --nodeps when installing rpm packages under gentoo. According to rpm's database /bin/sh is not installed. Anyway, I am closing this bug as it was a one off error which does not seem to have resurfaced, and thus never will.
Yep, I do feel stupid about forgetting --nodeps. Even more stupid in not remembering that I had Win4Lin running on another desktop while trying to upgrade.
It has resurfaced. emerge -uD world on an ~amd64 machine resulted in rpm being downgraded from 4.2.1 to 4.2-r1. In the process, libpopt.so.0.0.0 disappeared. Re-emerging dev-libs/popt fixed it.
This is because you had the old broken version of rpm installed which provided libpopt.so When it was installed it overwrote the one provided by libpopt, thus when it was removed you were left without libpopt. Bug still FIXED in the portage tree but will be a while before it gets though the system!