In simple terms when two objects are dependent on each other then it constitutes cyclic dependency. Usually, this happens with a chain of CDS. For example A->B->C->A.
Cyclic dependency with CDS will prevent activating individual CDS in a single step. In development, you can easily get around this by mass activating objects in Eclipse.
Cyclic dependency could also cause issues after transport import or post upgrade with activation of CDS. You could encounter the following message
Errors occurred during post-handling SACMDT_AFTER_IMP_DCL for DCLS L
During the upgrade, import post-processing SACMDT_AFTER_IMP_DCL was performed for object DCLS L. Errors were reported
If this turns out to be because of cyclic dependency then you can use report RUTDDLSACT to mass activate all CDS in the chain.
In the worst-case scenario CDS source code must be modified manually before individual activation steps to remove the dependencies temporarily.