As Portage doesn't depend on expat, you still can emerge "things".BitJam wrote:If I emerge the latest stable expat (2.x) it breaks my system and I can no longer re-emerge things
Neither. As you're using a source distribution it is your problem. Such issues inevitably come up every now and then. There is no sane way around it.BitJam wrote:I try to be careful with my words and not play with them. There are two separate concepts here (1) is the problem in Gentoo or Expat, and (2) what is the proper solution. My initial comment was addressing the first concept and not the second.
The slot mechanismn is not a means to keep all sorts of libraries around just to safe you a rebuild. Period.BitJam wrote:Since Gentoo has the slots mechanism and from my simple understanding of how Emerge works, ISTM that it is Gentoo that is removing the older version of Expat after the new version is installed. The poster I was responding to thought it was expat that was removing the older version.
Rebuilding the neccessary ebuilds is your fix.BitJam wrote:You keep saying slots are not the correct solution for this problem. I have no idea. But if we don't use slots then don't we need to either fix (or mask) expat or fix all the ebuilds that no longer emerge when the new expat is installed?
You probably need to reemerge packages in order different than that invented by revdep-rebuild. You should often use `emerge --resume --skip-first`.BitJam wrote:Since I've told you over and over again that things don't emerge after I install the new expat, are you suggesting I fix 150 ebuild files?Carlo wrote:Rebuilding the neccessary ebuilds is your fix.

That's exactly what I did. Right then. As soon as I saw it. I copied those exact words with the middle mouse button onto the next shell input line and pressed the [RETURN] key.beso_1717 wrote:the problem is that expat 2.0.1 has changed libexpat.so.0 name, so you have to do a revdep-rebuild -X --library libexpat.so.0 as suggested by the expat 2.0.1 infos <snip>

Wise words pal...didymos wrote:I'd like to thank [...] "--as-needed" for making this upgrade possible.


I had exactly the same scenario here. For the moment I masked expat >=2.0.0 to be able to emerge kde. This was the first major glitch for me in gentoo for a while and for less experienced users somthing like this can be pretty annoying I guess. Ah well... still much better than struggling with WindowsBitJam wrote: For me, expat got emerged early on in an "emerge -uDN world" that contained 150 packages, mostly kde stuff that had just gone stable. My existing kdelibs was blocking the updates so I had unmerged it and had gotten out of X to give emerge as much memory as possible. This is what put my machine into a state where most things (qt, kdelibs, the first package picked by revdep-rebuild) would not emerge unless I downgraded expat and I was stuck in the vconsole. For the last year or more, emerge and portage have been rock solid for me so I was taken by surprise when emerge -uDN world caused it to run aground.

libexpat.so.0 is incompatible with libexpat.so.1. libexpat.so.1 have many bug fixes. Libraries should be never copied in such a way.fallen wrote:i was wondering, is it bad if say.. you're missing libexpat.so.1, and you have libexpat.so.0, so you just go ahead.. and cp libexpat.so.0 libexpat.so.1

This worked for me, thanks.MostAwesomeDude wrote:# emerge -v1 expat
# emerge -v1 gettext
# emerge -v1 intltool
# emerge -v1 kdelibs
# emerge -av --update --deep --newuse world
# revdep-rebuild -X
# revdep-rebuild
The devs all got together and figured out how to rewrite revdep-rebuild so as to annoy and upset the greatest number of users. It was decided expat was the perfect tool for this. Either that or it's an ordering bug (or maybe that's just what they want you to think).flysideways wrote:I'm just sort of curious about how expat was put so early in the update order, before things that needed it?
Code: Select all
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild UD] kde-base/kdelibs-3.5.5-r10 [3.5.7-r2] USE="ssl%* -zeroconf%" LINGUAS="-he%"
[ebuild R ] dev-libs/apr-util-0.9.12-r1
[ebuild R ] sys-devel/gcc-4.1.2
[ebuild UD] kde-base/kwin-3.5.5-r2 [3.5.7]
[ebuild UD] kde-base/kscreensaver-3.5.5 [3.5.7]
[ebuild R ] kde-base/kdeartwork-styles-3.5.5
[ebuild R ] kde-base/kommander-3.5.5
[ebuild R ] kde-base/kimagemapeditor-3.5.5
[ebuild R ] kde-base/klinkstatus-3.5.5
[ebuild R ] kde-base/kworldwatch-3.5.5
[ebuild R ] kde-base/kfilereplace-3.5.5
[ebuild R ] kde-base/kxsldbg-3.5.5
[ebuild R ] kde-base/kdeartwork-kwin-styles-3.5.5
[ebuild R ] kde-base/kdeartwork-kscreensaver-3.5.5