A friend of mine encountered the following situation on his gentoo machine: =========================================================================== pc-gentoo ~ # emerge -pv ati-drivers These are the packages that I would merge, in order: Calculating dependencies ...done! [blocks B ] <x11-base/xorg-x11-6.8.0-r4 (from pkg x11-base/opengl-update-2.1.0-r1) [ebuild U ] media-libs/freetype-2.1.9-r1 [2.1.5-r1] -bindist* -debug -doc +zlib 969 kB [ebuild N ] x11-base/opengl-update-2.1.0-r1 37 kB [ebuild U ] x11-base/xorg-x11-6.8.1.904 [6.7.0-r3] -3dfx +3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server* -hardened -insecure-drivers +ipv6* -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts* +type1-fonts* (-uclibc) -xprint +xv 43,272 kB [ebuild N ] media-video/ati-drivers-8.8.25-r3 3,656 kB Total size of downloads: 47,935 kB =========================================================================== As you see, xorg-x11 6.7.0-r3 is currently installed. The emerge command would (among other things) install opengl-update and upgrade xorg-x11 to 6.8.1.904. However, the command is blocked because opengl-update RDEPENDS on "!<x11-base/xorg-x11-6.8.0-r4". My question is: Should the current version of xorg-x11 really matter ? I mean that opengl-update's RDEPEND will be satisfied *after* the upgrade, so is the conflict really necessary ? Thanks
Created attachment 51763 [details] output of emerge info
this should work for you: emerge -v --oneshot \=opengl-update-2.0* xorg-x11 emerge -v --oneshot opengl-update emerge -v ati-drivers
I had a similar problem. I wondder how this output works out (read the version numbers) # emerge -vp xorg-x11 ati-drivers These are the packages that I would merge, in order: Calculating dependencies ...done! [blocks B ] <x11-base/xorg-x11-6.8.0-r4 (is blocking x11-base/opengl-update -2.1.1-r1) [blocks B ] <media-video/ati-drivers-8.8.25-r3 (is blocking x11-base/opengl -update-2.1.1-r1) [ebuild N ] x11-base/opengl-update-2.1.1-r1 37 kB [ebuild R ] x11-base/xorg-x11-6.8.2-r1 -3dfx +3dnow +bitmap-fonts +cjk -de bug -dlloader -dmx -doc +font-server -hardened -insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc ) -xprint +xv 0 kB [ebuild R ] media-video/ati-drivers-8.8.25 0 kB Jeremy's fix did not work (blockings). emerge --nodeps opengl-update did run through fine. Now I just hope they actually work together. Gentoo devs: Please don't let this kind of crap happen next time. If I wanted to fix dependancies manually with a lot of trial and error, I wouldn't be using portage.
Update: emerge -vpuD world still gives me [blocks B ] <x11-base/xorg-x11-6.8.0-r4 (is blocking x11-base/opengl-update-2.1.1-r1) [blocks B ] <media-video/ati-drivers-8.8.25-r3 (is blocking x11-base/opengl-update-2.1.1-r1) even though I already have opengl-update-2.1.1-r1. Is there any way I can make portage understand that I do not have neither xorg-x11-6.8.0-r4 nor ati-drivers-8.8.25-r3?
Tor: You apparently don't understand how blockers work, which we can't do a whole lot about pre-emptively. We've attempted to document it some in the "Blocked Packages" section at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1#doc_chap4 -- which would in fact solve your problem. So if you had read the documentation, you wouldn't need to ask about it. Let's go through this step by step, to help you understand. [blocks B ] <x11-base/xorg-x11-6.8.0-r4 (is blocking x11-base/opengl-update -2.1.1-r1) 1. You can't emerge a new opengl-update while you have an old xorg-x11 installed. [blocks B ] <media-video/ati-drivers-8.8.25-r3 (is blocking x11-base/opengl -update-2.1.1-r1) 2. You can't emerge a new opengl-update while you have an old ati-drivers installed. [ebuild N ] x11-base/opengl-update-2.1.1-r1 37 kB 3. You want to emerge a new opengl-update, as a dependency of new xorg-x11. [ebuild R ] x11-base/xorg-x11-6.8.2-r1 -3dfx +3dnow +bitmap-fonts +cjk -de bug -dlloader -dmx -doc +font-server -hardened -insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc ) -xprint +xv 0 kB [ebuild R ] media-video/ati-drivers-8.8.25 0 kB 4 and 5. Obvious -- passed at the command line So, to sum up -- there are many ways to solve this. The goal is to arrange so that old xorg-x11 and old ati-drivers are not installed. The ideal way to do it is to uninstall them, then upgrade. Or, you could upgrade with --nodeps in some cases, or a host of other things.
I think I understand blockings just fine. The lines 4 and 5 show that my current versions of xorg-x11 and ati-drivers are not the ones blocking opengl-update. What I didn't know was that it's possible to have multiple versions of xorg installed at once. It turned out I had xorg-x11-4.3.0-r8 (not 6.8.0-r4) installed besides 6.8.2-r1. Removing that one didn't remove any files, but made portage happy. Have there ever been an xorg-x11-4.3.0-r8?
I don't understand how you managed that, but it's clearly a bug. It came to be from the move from xfree to xorg-x11, but the SLOTs should have prevented two from being simultaneously installable.