I recently changed my cflags settings and wanted to do a emerge -e world. I set it in motion in a screen session. When I came back later to check its progress, the screen no longer existed. After starting another screen session, and typing 'emerge -a --resume', emerge crashed with the following output: These are the packages that I would merge, in order: !!! aux_get(): ebuild path for 'media-libs/smpeg-0.4.4-r5' not specified: !!! None Traceback (most recent call last): File "/usr/bin/emerge", line 3140, in ? mydepgraph.display(portage.mtimedb["resume"]["mergelist"]) File "/usr/bin/emerge", line 1516, in display if (x[0]!="binary") and ("fetch" in string.split(portage.portdb.aux_get(x[2],["RESTRICT"])[0])): File "/usr/lib/portage/pym/portage.py", line 5221, in aux_get raise KeyError, "'%(cpv)s' at %(path)s" % {"cpv":mycpv,"path":myebuild} KeyError: "'media-libs/smpeg-0.4.4-r5' at None" If I remove the '-a' in the emerge command, the error is different: *** Resuming merge... >>> emerge (1 of 480) media-libs/smpeg-0.4.4-r5 to / Traceback (most recent call last): File "/usr/bin/emerge", line 3189, in ? mydepgraph.merge(portage.mtimedb["resume"]["mergelist"]) File "/usr/bin/emerge", line 1903, in merge emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Cleaning ("+x[pkgindex]+"::"+y+")", short_msg=short_msg) TypeError: cannot concatenate 'str' and 'NoneType' objects For the package media-libs/smpeg, I have version 0.4.4-r5 installed, which doesn't exist in portage anymore; the latest version is r6. I created a dummy r5 ebuild, which portage seemed to accept, but then it gave the same complaints about wine and crashed. I have not made anymore tests. Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.5-r1, 2.6.11-gentoo-r11 i686) ================================================================= System uname: 2.6.11-gentoo-r11 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://linuv.uv.es/mirror/gentoo/" LINGUAS="fr" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 apm arts avi berkdb bitmap-fonts cdparanoia cdr crypt cups curl dvd dvdr eds emboss encode esd fam flac foomaticdbfortran gd gdbm gif gphoto2 gpm gstreamer gtk2 hal imagemagick imlib ipv6 java jpeg kde libg++ libwww mad mikmod motif mp3 mpeg mysql ncurses nls nvidia ogg oggvorbis opengl oss pam pda pdflib perl php pic png python qt quicktime readline samba sdl slang spell sqlite ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts usb xine xml2 xmms xv zlib linguas_fr userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS
Hmm, IIRC this was supposed to be fixed in 2.0.51.22.
Need to know how to reproduce it to know how to fix it.. Can't see anything here other than two unrelated tracebacks.
*** Bug 115737 has been marked as a duplicate of this bug. ***
To reproduce, install a package. The version of the package must be the oldest one available in the portage tree (not sure about this, just guessing). Then manually remove the ebuild from the portage tree. Then do an emerge -e world (I don't know if just emerging the packing will reproduce the error. I suppose it's worth a try to save time). It should crash when it gets to the ebuild-less package (I don't know what will happen, because the screen session I was in went away, thus I didn't get to see the error). After doing an emerge --resume, you should see the error I've shown above.
Do you have a cron'ed `emerge --sync' by chance?
Reproduced. emerge package; ctrl-c; rm ebuild; emerge --resume.
It sounds like you've found what you need, but to answer your question, yes, I have a cron'd emerge sync. It's esync -s, to be exact.
Released in 2.1_pre2.