Please read the Reasoning Section in Using Awesome window manager on CentOS 7. Whether or not the distribution is binary or not is irrelevant. This is because the same behavior can occur in all distributions.
Items 4 - 6 in the linked post are what
revdep-rebuld fixes. The fancy name for Item 4 is a Reverse Dependency. The only definition I could find was in this Wikipedia entry for Dependency Hell. See Conflicting and Circular Dependencies.
revdep-rebuld, short for reverse dependency rebuild works by scanning your
/lib directories for
.so objects, then compares the version of the Shared Object to the version of the Static Library - the
.a files, if the
static-libsUSE Flag was used. Both of these are then compared to the output of
ldd If there is a mismatch, the package is marked for rebuild, and then rebuilt.
All of that is in webKnjaz's answer, except
revdep-rebuild always starts at his step 2, i.e. it always assumes all packages are broken, therefore it assumes all libraries are broken until scanned.
You should also know that
revdep-rebuild has been integrated into newer versions of
sys-apps/portage in the