After uodate to icu-4.2.1 lots of programs broke, particularly sqlite, which caused nss to failed to build in my emerge -puNDv world. Icu it didn't give any messages after building. It should have said something like: Please run revdep-rebuild --library libicui18n.so.40 and revdep-rebuild --library libicudata.so.40 This may be related to bug 266621. (open-office is another program broken by icu updates).
After upgrading to icu-4.4, this got even worst. Since it breaks sqlite, it seems to also breaks portage which uses pysqlite: # ebuild pysqlite-2.6.0.ebuild compile Traceback (most recent call last): File "/usr/bin/ebuild", line 129, in <module> if ebuild_portdir not in portage.portdb.porttrees: File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 23, in __getattribute__ result = object.__getattribute__(self, '_get_target')() File "/usr/lib64/portage/pym/portage/__init__.py", line 568, in _get_target return _get_legacy_global(name) File "/usr/lib64/portage/pym/portage/_legacy_globals.py", line 15, in _get_legacy_global portage.portdb = portage.db[portage.root]["porttree"].dbapi File "/usr/lib64/portage/pym/portage/util/__init__.py", line 1121, in __getitem__ result = lazy_item.func(*pargs, **kwargs) File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 1202, in __init__ self.dbapi = portdbapi(mysettings=settings) File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 354, in __init__ self.auxdbmodule = self.settings.load_best_module("portdbapi.auxdbmodule") File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 1165, in load_best_module mod = load_mod(best_mod) File "/usr/lib64/portage/pym/portage/__init__.py", line 397, in load_mod mod = __import__(modname) File "/usr/lib64/portage/pym/portage/cache/sqlite.py", line 16, in <module> from pysqlite2 import dbapi2 as db_module File "/usr/lib64/python2.6/site-packages/pysqlite2/dbapi2.py", line 27, in <module> from pysqlite2._sqlite import * ImportError: libicui18n.so.42: cannot open shared object file: No such file or directory So, revdep-rebuild will fail as well because it can't call emerge.
For me the upgrade from 4.2.1 to 4.4.1 broke net-libs/webkit-gtk as well as openoffice, but revdep-rebuild found them without problem, and re-emerging is currently in progress with no problems so far. I have sqlite 3.6.23.1, which seemed to have no problem with the icu upgrade.
Users of Portage 2.1.* should regularly use revdep-rebuild, so there's no need to mention revdep-rebuild in messages printed by dev-libs/icu ebuilds.