Summary: | Portage attempts to load non-existant module cdb | ||
---|---|---|---|
Product: | Portage Development | Reporter: | markus <markus.gehm> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | critical | CC: | gentoo-bugs |
Priority: | High | ||
Version: | 2.0 | ||
Hardware: | x86 | ||
OS: | Linux | ||
URL: | http://gentoo-wiki.com/TIP_speed_up_portage_with_cdb | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
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. :) |
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.