After updating to expat-2.0.1, it tells you to run
revdep-rebuild -X --library=libexpat.so.0 but even after that apache2 couldn't be started. It says that /usr/sbin/apache2 can't find shared library libexpat.so.0. After some googling I found a message in Google Groups which deals with the problem.
The problem is that /usr/lib/libaprutil-0.so.0.9.12 which belongs to apr-util is still broken. But how can that be broken when you just ran the revdep-rebuild which should have fixed the problem. The reason is that by executing
eix apr-util, you see that there are two versions of apr-util installed.
After re-emergeing the apr-util-0.9.12-r1, apache2 starts normally.
The problem is actually caused by the "-X" option of revdep-rebuild command, which emerges the best (currrently is the latest stable) packages available. In this apr-util case, it will emerge apr-util-1.2.8.
So for slotted packages, don't use "-X" option for revdep-rebuild command.
- Shaochun Wang