First, you have to verify the crank is not spinning when the starter does.
The starter engages via a roller clutch inside the engine case. Old, hard grease can capture the 3 rollers and prevent the springs from pushing them in place. They are held out of contact by centrifugal force.
In some instances, simply getting the whole lower case assembly hot via a long summer run, and revving the engine will allow the heated grease to release their grip and allow the rollers to get pushed out for proper contact.
If you are not patient enough to wait for this to occur, then splitting the lower cases to get at the roller clutch mechanism is a more direct fix.
Cheers,