On Sun, Dec 12, 2010 at 1:41 PM, Alan McKinnon <alan.mckin...@gmail.com> wrote: > Apparently, though unproven, at 23:10 on Sunday 12 December 2010, > cov...@ccs.covici.com did opine thusly: > >> Alan McKinnon <alan.mckin...@gmail.com> wrote: >> > Apparently, though unproven, at 22:35 on Sunday 12 December 2010, >> > >> > cov...@ccs.covici.com did opine thusly: >> > > Mark Knecht <markkne...@gmail.com> wrote: >> > > > On Sun, Dec 12, 2010 at 10:48 AM, <cov...@ccs.covici.com> wrote: >> > > > > I have a fair number of preserved-libs, but it will not run at all >> > > > > and gives the rather strange message: >> > > > > Calculating dependencies... done! >> > > > > >> > > > > emerge: there are no ebuilds to satisfy "dev-tex/mplib:0". >> > > > > (dependency required by "@preserved-rebuild") >> > > > > >> > > > > Now I have no such package and an eix seems to indicate that there >> > > > > is no such, so how do I get this rebuild going again? >> > > > > >> > > > > Thanks in advance for all your help. >> > > > > >> > > > > -- >> > > > > Your life is like a penny. You're going to lose it. The question >> > > > > is: How do >> > > > > you spend it? >> > > > > >> > > > > John Covici >> > > > > cov...@ccs.covici.com >> > > > >> > > > Probably searching for packages that depend on mplib, (equery) then >> > > > emerge -C them (it's what I'd probably do - depends...) then >> > > > re-emerge them if you still use them? Note that I'd go back to >> > > > finding what members of the world file need all this stuff and >> > > > emerge that with -DuN, maybe even doing a -depclean after the emerge >> > > > -C. It's all a guess though. >> > > > >> > > > Seems like this sort of thing happens when a package gets dumped in >> > > > an upgrade but somehow the ebuilds or package manager don't get >> > > > updated or just don't work perfectly. >> > > > >> > > > Again, all a guess but I can usually figure it out looking at equery >> > > > output, etc. >> > > >> > > Well, there was a package, but no ebuild, so I deleted the package and >> > > its going, but someone broke something. I wish you could not delete an >> > > ebuild if you have the package, or it would put it somewhere to prevent >> > > this kind of thing. >> > >> > That will make portage store gigantic numbers of old and since upgraded >> > versions just in case maybe you might need it perhaps. Sounds like a lot >> > of pain for no gain. Sounds like exactly the kind of thing any decent >> > dev will reject. >> > >> > Besides, you can always get the old ebuild back from the Attic, or you >> > could copy it somewhere safe from /var/db/pkg/ before you delete it. >> > >> > Mark has the correct solution. mplib is not needed and was deleted. >> > However, it's in preserved-rebuild as being used by something. In all >> > likelyhood that something uses mplib purely optionally and you should >> > just rebuild that something. You provided no output so no-one here knows >> > how to fix your problem. >> >> There was no output, but what I sent and the only thing depended on >> mplib was the package with no ebuild, so I guess its fixed. But >> something seems wrong here that you should have a package and the ebuild >> would go away like that. I am not sure of the best solution. > > But you *don't* have the package, or it didn't uninstall cleanly. It's not in > the tree, it's not in eix, so it no longer exists. There would have been at > least 30 days notice in $PORTDIR/profiles/package.mask that it was going away, > and emerge gives output that there is a package present without an ebuild. > > Or maybe you deleted the ebuild yourself out of a local overlay. > > There's lots of ways this can happen. preserved-rebuild tracks that some part > of mplib is bieng used somehow, and it told you. Now you as the human being > get to decide how to proceed because the software cannot decide for you. > > The software is working as designed. What else did you expect it to do? > > One thing that is NOT a solution is to not delete the ebuild. That results in > your tree being out of sync with upstream. That is not allowed.
covici, It strikes me that maybe I wasn't totally clear about this sort of fix. My bad. I _think_ that if you had a totally up to date system and a recent set of ebuilds on the system then likely none of them would depend on mplib. (Assuming it's been dropped for some reason.) The issue you need to sort of get your head around is that you are searching from some _older_, currently installed package that depends on this dropped library. Once you know the name of that package, if you emerge -C it then the system no longer requires it and complaints should go away. Assuming they do then I would likely do an emerge -p --depclean, which gets the system clean without the program you want, then I would emerge the newest version of that program which doesn't require mplib. Again, it's sort of an Easter Egg Hunt getting to all the older programs that required the library that's been removed. There may be more than one program that used it. One other possibility, I think, is that everything is OK with your programs but some mplib executable (possibly a *.so file or something) was left laying around and now revdep-rebuild is complaining that it cannot fix it. That one is relatively easy as you can search, using equery, for the package that provided it and if it's not on the system then just delete the *.so that it's complaining about. Whatever, do make sure that you double check the system with revdep-rebuild and emerge -pvDuN @world at the end to make sure your clean. Hope that helps, Mark