I was just throwing the dice - somebody somewhere else mentioned that deleting some blank lines allowed a successful build. I added the comment with the same idea, thinking that maybe an uninitialized variable would take on a different random value and the error wouldn't happen. I can repeat the condition with another install if that would help answer any questions. At any rate I'm a happy camper.
"make clean" would have done it.
The compiler compiles each units, and maintains ppu files (with checksums to know when they are outdated).
And (most likely) something goes wrong there. A ppu is outdated, but not detected. It could be circular, then changing this file may affect the other ppu.
It is hard to say exactly what happens, since it happens at random.
If you have exact steps, how to reproduce on a system on which there never ever before was any fpc or Lazarus (maybe a fresh installed OS), then you should report it with those steps on the fpc bugtracker.