Portage fails to resolve cases when two packages depend on each other due to some use flags enabled.
Steps to Reproduce:
These loops are actual:
freetype[harfbuzz] -> harfbuzz[freetype] -> freetype
ncurses[gpm] -> gpm -> ncurses
mesa[vaapi] -> libva; libva[opengl] -> virtual/opengl -> mesa
Also cups[zeroconf] caused problems in past, but now it seems to be fixed (I just can't track it by look into ebuilds).
At least it reports, where is problem, propose manual solution by disabling flags, masking, etc.
Should try multiple emerges for same package. First time with USE=-flag for whatever flag causing circular dependency, second time with this flag on.
*** This bug has been marked as a duplicate of bug 175808 ***