after 'emerge sync' updates the tree, portage/emerge (portage-2.0.51_pre7) reports "Failed cache update" for each ebuild in the tree. Reproducible: Always Steps to Reproduce: 1. emerge /usr/portage/sys-apps/portage/portage-2.0.51_pre7 2. emerge sync 3. Actual Results: 'emerge sync' sync's the tree correctly - that is, other than the "Failed cache update" errors, emerge seems to work perfectly. here is a snippet of the output of 'emerge sync': Failed cache update: xfce-extra/xffm-icons-4.0.4 Failed cache update: xfce-extra/xffm-icons-4.0.5 Failed cache update: xfce-extra/xfwm4-themes-4.0.4 Failed cache update: xfce-extra/xfwm4-themes-4.0.5 ...done # emerge info Portage 2.0.51_pre7 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.5-mm1) ================================================================= System uname: 2.6.5-mm1 i686 Intel(R) Pentium(R) 4 Mobile CPU 2.00GHz Gentoo Base System version 1.4.10 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox userpriv" GENTOO_MIRRORS="ftp://mirror.iawnet.sandia.gov/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync6.us.gentoo.org/gentoo-portage" USE="X aalib aavm alsa apache2 apm avi berkdb cdr crypt cups dvd encode esd fbcon foomaticdb gdbm gif gpm gtk gtk2 imlib java jpeg kde kerberos ldap libg++ libwww mad mikmod motif mpeg ncurses nls nptl oggvorbis opengl pam pdflib perl png postgres ppds python qt quicktime readline samba sdl slang spell sse ssl svga tcpd tetex truetype usb x86 xml2 xmms xv zlib"
I've seen something similar, although I've chalked it upto modifications I was upto w/ portage at the time. From what I've seen, 2.0.51_pre7 doesn't recover gracefully from encountering an ebuild that has syntax errors- when it encounters said ebuild, everything after resulted in a failed cache update (at least for me).
i should also add that emerge barks wildly with the following "messages" when running `emerge -UDpv world`: QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.3.2-r3 QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.3.2-r3 ~x86 QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.3.1-r1 QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.3.1-r1 ~x86 QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.2.3-r4 QA Notice: USE Flag 'debug' not in IUSE for sys-devel/gcc-3.2.3-r4 that's just a snippet - the actual messages complain about glibc and others and goes on for quite sometime; this significantly slows down the emerge pretend.
portage-2.0.51_pre7 hasn't changed in how it handles an "invalid" metadata cache or the situations in which QA notices are output - however, the verbosity of QA notices has increased. Essentially, there is a change in the layout of the cache data for portage-2.0.51_pre7. This means that the metadata that comes down with emerge sync cannot be used (as changing it would break 2.0.50) hence the "Failed cache update" notices. The QA notices happen when portage sources an ebuild. Normally you would not see these notices during dep calculation as portage just uses the cache. However, 2.0.51_pre7 must rebuild the cache itself so the ebuilds are sourced (the first time) during dep calculation. If you want to get your cache fully up to date and get rid of the QA notices (for dep calculation only) and a lot of speed-up on later emerges, run emerge regen. If (like me) you don't so interested in updating cache entries for packages you'll never touch, just run emerge -ep world. Or just let portage build up the cache as required.
`emerge regen` did the trick. thanks for the help.
One remark: If you have many overlays (i have 3) take a good look at your ebuilds. One of them had an error and so every cache update failed after it failed with my one. Fixing it (by removing) finally fixed my cache update problems! :D