Ran the process again, and nothing new was checked out from SVN, so it was building exactly the same tree as before (which worked). This version has the broken link. Next, I tried running ./build.sh clean
on the eXist tree before running the process again. This one also failed, so build clean doesn't help. Finally, I tried another full delete of the entire eXist folder and ran it all again. That worked. So the only system that actually worked was to delete the eXist tree before starting. That's what I'll do from now on.