Several conditions can cause LaTeX labels to keep changing, no matter how many times a document is recompiled. The labelschanged package helps diagnose the cause of repeated "Label(s) may have changed." warnings. The names and before/after definitions of changing labels are printed at the end of each compile. Multiply-defined labels are printed as well.