I have this problem with two machines (maybe more, I haven't checked). Both on ~amd64 with nothing special. I just did a complete world update and cleanup. Now I do this: # emerge -vp xorg-server These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] x11-base/xorg-drivers-1.16 [1.15] INPUT_DEVICES="evdev -acecad -aiptek -elographics -fpit -hyperpen -joystick -keyboard -mouse -mutouch -penmount -synaptics -tslib -vmmouse -void -wacom" VIDEO_CARDS="intel -apm -ast -chips -cirrus -dummy -epson -fbdev -fglrx (-freedreno) (-geode) -glint -i128 (-i740) -mach64 -mga -modesetting -neomagic -nouveau -nv -nvidia (-omap) (-omapfb) -qxl -r128 -radeon -radeonsi -rendition -s3% -s3virge -savage -siliconmotion -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo)" 0 KiB [ebuild r U ] x11-base/xorg-server-1.16.0:0/1.16.0 [1.15.1:0/1.15.1] USE="ipv6 nptl suid udev xorg -dmx -doc (-glamor) -kdrive -minimal (-selinux) -static-libs -systemd% -tslib -unwind -wayland% -xnest -xvfb" 5,697 KiB [ebuild rR ] x11-drivers/xf86-input-evdev-2.8.4 0 KiB [ebuild r U ] x11-drivers/xf86-video-intel-2.99.914 [2.99.911-r1] USE="dri sna udev xvmc -debug -glamor -uxa" 2,189 KiB Total: 4 packages (3 upgrades, 1 reinstall), Size of downloads: 7,885 KiB The following packages are causing rebuilds: (x11-base/xorg-server-1.16.0:0/1.16.0::gentoo, ebuild scheduled for merge) causes rebuilds for: (x11-drivers/xf86-video-intel-2.99.914:0/0::gentoo, ebuild scheduled for merge) (x11-drivers/xf86-input-evdev-2.8.4:0/0::gentoo, ebuild scheduled for merge) * IMPORTANT: 12 news items need reading for repository 'gentoo'. * Use eselect news to read news items. There's an xorg-server update that wasn't built. Weird. If I run 'emerge -puDN @world' again it comes back empty. xorg-server is in the world file: # grep xorg-server /var/lib/portage/world x11-base/xorg-server Relevant bits from my make.conf: ACCEPT_KEYWORDS="~amd64" ACCEPT_LICENSE="*" CHOST="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe" CXXFLAGS="${CFLAGS}" FCFLAGS="${CFLAGS}" FFLAGS="${CFLAGS}" MAKEOPTS="-j3" EMERGE_DEFAULT_OPTS="--with-bdeps=y --complete-graph=y --keep-going=y" PORTDIR="/var/cache/portage" DISTDIR="${PORTDIR}/distfiles" PORTAGE_TMPDIR="/tmp" PORTDIR_OVERLAY="/usr/local/portage" Portage version: # emerge --version Portage 2.2.12 (python 2.7.8-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.3, glibc-2.19-r1, 3.16.1-gentoo x86_64) Do you need any more info? Denis.
Is it still picked up if you use 'emerge -vpD xorg-server' ? There's a chance, that one of your packages has a restriction on xorg-server version.
You can show reverse dependencies like this: emerge -pv --depclean xorg-server
I have reproduced this bug in the past, no there was nothing that needed an older version. If you "emerge -1 xorg-server" to force the upgrade, then "emerge -uDNav world", everything is consistent and there are no problems.
Looks like this is caused by the following commit: a862cc5dd1a56114fa579c5fb01b518b243666d9 : Solve some slot conflicts without backtracking
My guess is that _solve_non_slot_operator_slot_conflicts (from commit a862cc5dd1a5) is solving slot conflicts triggered by slot operators before self._dynamic_config._slot_operator_replace_installed has had a chance to become populated by the first backtrack run. I now have a copy of Ben's configuration, with which I hope to reproduce this bug.
In the following branch I have a test case (based on Ben's configuration) that reproduces this bug: https://github.com/zmedico/portage/tree/bug_522084 It shows that _solve_non_slot_operator_slot_conflicts removes both versions of xorg-server from the graph, since they don't have any non-conflict parents (except for @selected which matches both instances).
Created attachment 385084 [details, diff] _solve_non_slot_operator_slot_conflicts: fix bug #522084 Fix _solve_non_slot_operator_slot_conflicts to add all parents to the conflict_graph, even for parents where the atom matches all relevant nodes. Otherwise, we risk removing all of the matched nodes from the graph, which would cause a missed update.
This is in git now: https://github.com/gentoo/portage/commit/c81f3f4586b7b6164f5038ac778098911fef9404
*** Bug 519536 has been marked as a duplicate of this bug. ***
*** Bug 523486 has been marked as a duplicate of this bug. ***
This is fixed in portage-2.2.14.
*** Bug 506022 has been marked as a duplicate of this bug. ***