Why does the animate package often require running (pdf)latex twice?

When I use the animate package, the first pdfLaTeX compilation sometimes displays the warning

    LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.


I know this is quite normal for (pdf)LaTeX, but it's annoying that the animation does not work in this case. When creating a large animation it is very frustrating to have to compile it twice.

Is there a way to avoid this happening?

I haven't provided much information, because I'm not sure what you would need. Any example of the animate package seems to display this behaviour.

• I've never used the animate package, but as soon as label information (page or equation numbers etc.) occurs this can't be known by LaTeX in advance. It requires at least one additional run to get the information right. As said, this is not restricted to animate – user31729 Jan 14 '16 at 9:31

Re-running the compilation cannot be avoided. animate uses the atenddvi package, which requires at least 2 runs. Also, animate sometimes needs the number of frames in an animation, which is only known during the second run.
Other packages and functionalities, unrelated to animate, may need an additional run too (hyperref or the \label/\ref mechanism come to mind). Even if animations in the document were already functional, omitting a further run required for other reasons and giving away such an unfinished PDF would be a bad idea.