...\sam\1.6.12\cores\arduino/Print.h:50:17: note: virtual int Print::availableForWrite()
virtual int availableForWrite(void) = 0;
Where did this come from? There is no Print::availableForWrite() in SAM core, only serial classes (U(S)ART and CDC) have it.
This is how it is defined in ArduinoCore-API, won't cripple working code:
// default to zero, meaning "a single write may block"
// should be overridden by subclasses with buffering
virtual int availableForWrite() { return 0; }