Thank you, Jonas Maebe. I did try
https://developer.apple.com/download/all/?q=command%20line%20tools%20for%20XcodeIt didn't solve the problem.
Thank you, Trev. I tried
xcodebuild -runFirstLaunch
xcode-select --install
That also didn't solve the problem.
A friend here in Colorado suggested
sudo rm -rf /Library/Developer/CommandLineTools
to remove Command Line Tools before reinstalling them. That didn't solve the problem.
Could you guys (or anyone) comment on my following speculations?
This is an Apple bug, not an fpc bug. (I called Apple Help and they tried to blame it on fpc.)
fpc takes my Pascal program marmot.pas and creates marmot.o, which is in assembly language. The language has no name.
Then xcode takes over. The assembler is part of xcode. It translates marmot.o into a binary executable.
To handle things like open, close, and assign commands, the executable necessarily uses calls to xcode procedures. Does the Linker fill in addresses of these procedures? What does a linker do?
It will be helpful for me to understand the functions of assembler and linker before I call Apple Help again.