Initial state: # gcc-config -l [1] x86_64-pc-linux-gnu-4.6.3 * [2] x86_64-pc-linux-gnu-4.7.3 # emerge --depclean … sys-devel/gcc selected: 4.6.3 protected: none omitted: 4.7.3-r1 … Wants to remove active gcc, what breakes some apps. To my mind, portage should make a check of gcc-state, as it's done for python interpreter (I remember, portage skipped removeing of python:3.1, when it was deprecated, but the active one on my system). Maybe, the best solution will be to unify swicth mechanism using eselect-* (deprecateing gcc-config utility). My current version of portage: # equery b $(which emerge) * Searching for /usr/bin/emerge ... sys-apps/portage-2.2.1 (/usr/bin/emerge -> ../lib/portage/bin/emerge) Instead of silent remove of gcc I expect excludeing it from removal list, echoing warning similiar with attemp to remove active python and remind reference to http://www.gentoo.org/doc/en/gcc-upgrading.xml
Well, gcc-config != eselect but the idea is the same. *** This bug has been marked as a duplicate of bug 283587 ***