I have been having some gentoo portage problems due to my system being out of sync. When I finally updated a month or two later, it simply wasn’t working. I was getting an error like the following…
Performing Global Updates: /usr/portage/profiles/updates/3Q-2009 (Could take a couple of minutes if you have a lot of binary packages.) .='update pass' *='binary update' #='/var/db update' @='/var/db move' s='/var/db SLOT move' %='binary move' S='binary SLOT move' p='update /etc/portage/package.*' ...................................................... Performing Global Updates: /usr/portage/profiles/updates/4Q-2009 (Could take a couple of minutes if you have a lot of binary packages.) .='update pass' *='binary update' #='/var/db update' @='/var/db move' s='/var/db SLOT move' %='binary move' S='binary SLOT move' p='update /etc/portage/package.*' .................. Traceback (most recent call last): File "/usr/bin/emerge", line 40, inretval = emerge_main() File "/usr/lib64/portage/pym/_emerge/main.py", line 1328, in emerge_main return action_sync(settings, trees, mtimedb, myopts, myaction) File "/usr/lib64/portage/pym/_emerge/actions.py", line 2173, in action_sync if portage._global_updates(trees, mtimedb["updates"]): File "/usr/lib64/portage/pym/portage/__init__.py", line 8572, in _global_updates moves = bindb.move_ent(update_cmd) File "/usr/lib64/portage/pym/portage/dbapi/bintree.py", line 273, in move_ent mytbz2.recompose_mem(portage.xpak.xpak_mem(mydata)) File "/usr/lib64/portage/pym/portage/xpak.py", line 106, in xpak_mem indexglob=indexglob+encodeint(len(x))+x+encodeint(datapos)+encodeint(mydatasize) UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 49: ordinal not in range(128)
The solution is simple, but not necessarily easy to think of. All that needs to be done is to move the 4Q-2009 and 3Q-2009 files somehwere else, and then update python/portage.
[19:31 root@joseph updates] # eselect python list Available python interpreters: [1] python2.4 [2] python2.5 * [3] python2.6 [19:31 root@joseph updates] # eselect python set 3 [19:35 root@joseph updates] # emerge -1 portage
Then, move the 4Q-2009 and 3Q-2009 back to the proper locations, and everything should be working. Next, it’s probably good to do a “python-updater -p”, followed by your world update.