virtual size_t TwoWire::write(uint8_t)
...
virtual void Print::write(uint8_t)
They changed what "write" returns. You need to open up the library file (/usr/share/arduino/hardware/tiny/cores/tiny/Print.h), and in about two places change "void" to "size_t".
Then find the corresponding part of the Print.cpp file and make the same change. Then add a return to the end of those functions because you are supposed to return the number of bytes written. Something like this ...
Change:
/* default implementation: may be overridden */
void Print::write(const char *str)
{
while (*str)
write(*str++);
}
/* default implementation: may be overridden */
void Print::write(const uint8_t *buffer, size_t size)
{
while (size--)
write(*buffer++);
}
to:
/* default implementation: may be overridden */
size_t Print::write(const char *str)
{
size_t n = 0;
while (*str)
n+= write(*str++);
return n;
}
/* default implementation: may be overridden */
size_t Print::write(const uint8_t *buffer, size_t size)
{
size_t n = 0;
while (size--) {
n += write(*buffer++);
}
return n;
}