Portage Errors: Portage is Blocking Python
I started updating a pair of neglected Xen servers a few days ago and I ran into this problem:
xen2 ~ # emerge portage
* IMPORTANT: 3 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
Calculating dependencies... done!
[ebuild U ] app-admin/eselect-1.2.11 [1.0.11-r1]
[ebuild N ] app-admin/eselect-python-20100321
[uninstall ] app-admin/eselect-news-20080320
[blocks b ] app-admin/eselect-news ("app-admin/eselect-news" is blocking app-admin/eselect-1.2.11)
[ebuild NS ] dev-lang/python-2.6.6-r2 [2.4.4-r13, 2.5.2-r7] USE="berkdb gdbm ipv6 ncurses readline ssl threads (wide-unicode) xml -build -doc -examples -sqlite -tk -wininst"
[ebuild U ] sys-apps/portage-2.1.9.42 [2.1.6.7] USE="(ipc%*) -python2% -python3%"
*** Portage will stop merging at this point and reload itself,
then resume the merge.
[blocks B ] <sys-apps/portage-2.1.9 ("<sys-apps/portage-2.1.9" is blocking dev-lang/python-2.6.6-r2)
This conflict arises on machines which have not been updated since the mainstream python 2 version was upgraded from 2.5 to 2.6. The fix is fairly ham-fisted: untar these files and overlay them on your filesystem:
http://tinderbox.dev.gentoo.org/default-linux/x86/dev-lang/python-2.6.6-r2.tbz2
http://tinderbox.dev.gentoo.org/default-linux/x86/sys-apps/portage-2.1.9.25.tbz2
# tar -xjf portage-2.1.9.25.tar.bz2 # tar -xjf python-2.6.6-r2.tbz2 # cp -ax etc / # cp -ax usr /
Ignore the warnings about trailing garbage. I'm not sure what's going on there but it seems to work anyway. Now update the python symlink:
# rm /usr/bin/python # ln -s /usr/bin/python2.6 /usr/bin/python
Now re-emerge portage and python and you're on your merry way.
Comments
@Anon
cheers
Hi, thanks for the tip.
The link to portage in the post ends up in a 404. Here is a new one: h**p://tinderbox.dev.gentoo.org/default-linux/x86/sys-apps/portage-2.1.10.3.tbz2
After cp'ing you should do the following:
emerge -av --nodeps portage
echo '>=dev-lang/python-2.7' >> /etc/portage/package.mask
emerge -av python
emerge -av portage
eselect python set XYZ
python-updater
Have phun...
realy work :) Big thanks !
thanks, this was exactly what i needed