ieee488:
no driver
or
not a data cableare the 2 major culprits
This is incorrect.
If it's not a data cable, there will be no port to select. Same with no drivers.
Sync error indicates wrong port or board selected, things connected to the serial pins (which can interfere with upload) or reset pin, or any sort of wiring/bootloader problem (if it's a custom board). It basically means "There's a serial port here, but whatever it's connected to didn't reply to programming commands the way the board you selected should"
In rare cases, strange driver issues can lead to it projecting a non-functional port; this is rare though.