First off, I know I have a fairly modified system, but none of my reversions have helped, and this seems like a portage issue, even though many people with the same version of portage have had no problems with it, and my laptop and desktop at home are working fine. Whenever I try to emerge anything, or at the end of emerge --sync, I get this error. torus ~ # emerge world Calculating world dependencies Traceback (most recent call last): File "/usr/bin/emerge", line 4503, in ? retval = emerge_main() File "/usr/bin/emerge", line 4498, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/bin/emerge", line 3871, in action_build if not mydepgraph.xcreate(myaction): File "/usr/bin/emerge", line 1620, in xcreate best_pkg = portage.best(portdb.match(atom)) File "/usr/lib/portage/pym/portage.py", line 5355, in match return self.xmatch("match-visible",mydep) File "/usr/lib/portage/pym/portage.py", line 5338, in xmatch myval=match_from_list(mydep,self.xmatch("list-visible",None,mydep=mydep,mykey=mykey)) File "/usr/lib/portage/pym/portage.py", line 5324, in xmatch myval=self.gvisible(self.visible(self.cp_list(mykey))) File "/usr/lib/portage/pym/portage.py", line 5428, in gvisible keys, license, eapi = self.aux_get(mycpv, aux_keys) File "/usr/lib/portage/pym/portage.py", line 5042, in aux_get doregen = not self.eclassdb.is_eclass_data_valid(mydata["_eclasses_"]) File "/usr/lib/portage/pym/eclass_cache.py", line 65, in is_eclass_data_valid if cached_data is None or tup[1] != cached_data[1]: TypeError: unsubscriptable object torus ~ # Also, I noticed that when I try to emerge a masked package, first it tells me that the package is masked, and then it dumps out with that error. torus ~ # emerge --info Portage 2.1.2_pre3-r9 (selinux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.17-hardened-r1 i686) ================================================================= System uname: 2.6.17-hardened-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.12.5 Last Sync: Thu, 26 Oct 2006 17:30:01 +0000 ccache version 2.4 [disabled] app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.7, 2.0.30 dev-lang/python: 2.3.5-r3, 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium4" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks loadpolicy metadata-transfer parallel-fetch sandbox selinux sesandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LINGUAS="en" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aiglx alsa anthy apache2 berkdb cjk crypt cups dbus dri elibc_glibc firefox gif gnome gnutls gtk hal hardened input_devices_keyboard input_devices_mouse ipv6 java jpeg kernel_linux ldap linguas_en mmx mysql ncurses nls nptl nptlonly opengl pam pdf perl png python readline samba sdl selinux spell sse sse2 ssl svg tcpd threads truetype udev unicode userland_GNU video_cards_nvidia xcomposite xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY torus ~ #
Do you have anything in /etc/portage/modules? If so, you can comment out whatever is in that file (or remove it) and then run `emerge --metadata` to use the default cache implementation.
This really seems like a buggy cache module to me.
Disabling the CDB cache module did fix it, but this is the first time in over a year that I have had trouble with it. It was always a bit of a hack, but the increase in performance will be greatly missed if this bug goes unfixed :-/
I need to know the source of the problem before I can fix it. Where did you get the module? I've just tested http://dev.gentoo.org/~jstubbs/cdb.py and it works for me. Are you using some other one? The default cache module performs pretty well in >=portage-2.1, so you might just want to stick with it. Personally, I use the metadata_overlay module (documented in `man portage`). There is also an sqlite module included with portage.