After the Portage update to 2.0.51.22-r3 emerge crashed with the following message. >>> Regenerating /etc/ld.so.cache... Traceback (most recent call last): File "/usr/lib/portage/bin/emerge", line 10, in ? import portage File "/usr/lib/portage/pym/portage.py", line 7140, in ? portdb=portdbapi(settings["PORTDIR"]) File "/usr/lib/portage/pym/portage.py", line 5125, in __init__ self.eclassdb = eclass_cache(self.porttree_root, self.mysettings) File "/usr/lib/portage/pym/portage.py", line 4968, in __init__ self.dbmodule = self.settings.load_best_module("eclass_cache.dbmodule") File "/usr/lib/portage/pym/portage.py", line 1220, in load_best_module return load_mod(best_mod) File "/usr/lib/portage/pym/portage.py", line 139, in load_mod mod = __import__(modname) File "/usr/lib/portage/pym/portage_db_cdb.py", line 21, in ? import cdb ImportError: No module named cdb Reproducible: Couldn't Reproduce Steps to Reproduce: 1. 2. 3.
It appears that portage_db_cdb.py is extra, it's not in any of my portage installs. I would believe that that particular module is broken. Try removing that file and see if it works out. Do you have any idea where it came from? If it's a third party module for some sort of cache speedup it's probably broken in r3.
Apparently you unmerged dev-db/cdb and forgot what you were using it for (see referenced url). If you simply "rm /etc/portage/modules" then portage won't try to load that module anymore.
Apparently I need to earn my Google Wings :/ Invalid as it's a 3rd party module. Remerging cdb should fix the issue along with Zac's method. If it isn't fixed by those, re-open.
I want to add to this bug that I *do* use cdb, and I get exactly the same error now: downstairs ~ # emerge -pvu world Traceback (most recent call last): File "/usr/bin/emerge", line 10, in ? import portage File "/usr/lib/portage/pym/portage.py", line 7140, in ? portdb=portdbapi(settings["PORTDIR"]) File "/usr/lib/portage/pym/portage.py", line 5125, in __init__ self.eclassdb = eclass_cache(self.porttree_root, self.mysettings) File "/usr/lib/portage/pym/portage.py", line 4968, in __init__ self.dbmodule = self.settings.load_best_module("eclass_cache.dbmodule") File "/usr/lib/portage/pym/portage.py", line 1220, in load_best_module return load_mod(best_mod) File "/usr/lib/portage/pym/portage.py", line 139, in load_mod mod = __import__(modname) File "/usr/lib/portage/pym/portage_db_cdb.py", line 21, in ? import cdb ImportError: No module named cdb This error is caused by the upgrade to Python 2.4. To fix this error, do: cp /usr/lib/python2.3/site-packages/cdbmodule.so /usr/lib/python2.4/site-packages/cdbmodule.so Portage will then work again. To be safe, re-emerge dev-python/python-cdb immediately afterwards. Just wanted to give more info for people struggling with this. :)
According to the forum thread at http://forums.gentoo.org/viewtopic-t-389314.html , running python-updater after the above would be a good idea too.
symlink, don't mv first off all.. second, python-updater. :)