In order to do any meaningful development apart from the watch faces, it would be very helpful with instructions on how to set up a development environment for the library. When naively trying to use my own forked library to override other functions (as in #22), some libraries are missing:
ARNING: library DS3232RTC claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
WARNING: library DS3232RTC claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
libraries/Watchy/Watchy.cpp.o:(.literal._ZN6Watchy13drawWatchFaceEv+0xc): undefined reference to `Print::print(char const*)'
libraries/Watchy/Watchy.cpp.o:(.literal._ZN6Watchy13drawWatchFaceEv+0x10): undefined reference to `Print::print(unsigned char, int)'
libraries/Watchy/Watchy.cpp.o:(.literal._ZN6Watchy13drawWatchFaceEv+0x14): undefined reference to `Print::println(unsigned char, int)'
libraries/Watchy/Watchy.cpp.o: In function `Watchy::drawWatchFace()':
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `Print::print(char const*)'
Multiple libraries were found for "WiFi.h"
Used: /home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
Not used: /nix/store/7s7wjqyqrfhsx9ikfi3qkgnbgfy67s42-arduino-1.8.13/share/arduino/libraries/WiFi
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `Print::print(unsigned char, int)'
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `Print::print(char const*)'
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `Print::print(char const*)'
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `Print::println(unsigned char, int)'
libraries/Watchy/Watchy.cpp.o: In function `_GLOBAL__sub_I__ZN6Watchy3RTCE':
/home/user/Arduino/libraries/Watchy/src/Watchy.cpp:811: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Watchy/Watchy.cpp.o:(.rodata._ZTV9GxEPD2_BWI14GxEPD2_154_D67Lt200EE[vtable for GxEPD2_BW<GxEPD2_154_D67, (unsigned short)200>]+0x14): undefined reference to `Print::write(unsigned char const*, unsigned int)'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/lib/libesp32.a(cpu_start.o):(.literal.main_task+0x14): undefined reference to `app_main'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/lib/libesp32.a(cpu_start.o): In function `main_task':
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/cpu_start.c:545: undefined reference to `app_main'
sketch/StarryHorizon.ino.cpp.o:(.literal.startup._GLOBAL__sub_I__Z9initStarsv+0xc): undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
sketch/StarryHorizon.ino.cpp.o:(.literal._ZN13StarryHorizon18drawCenteredStringERK6Stringiib[StarryHorizon::drawCenteredString(String const&, int, int, bool)]+0x0): undefined reference to `Print::print(String const&)'
sketch/StarryHorizon.ino.cpp.o:(.literal._ZN13StarryHorizon8drawTimeEv[StarryHorizon::drawTime()]+0xc): undefined reference to `String::String(char const*)'
sketch/StarryHorizon.ino.cpp.o:(.literal._ZN13StarryHorizon8drawTimeEv[StarryHorizon::drawTime()]+0x10): undefined reference to `String::~String()'
sketch/StarryHorizon.ino.cpp.o: In function `_GLOBAL__sub_I__Z9initStarsv':
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:294: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
sketch/StarryHorizon.ino.cpp.o: In function `StarryHorizon::drawCenteredString(String const&, int, int, bool)':
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:134: undefined reference to `Print::print(String const&)'
sketch/StarryHorizon.ino.cpp.o: In function `StarryHorizon::drawTime()':
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:108: undefined reference to `String::String(char const*)'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:108: undefined reference to `String::~String()'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:108: undefined reference to `String::~String()'
sketch/StarryHorizon.ino.cpp.o: In function `StarryHorizon::drawDate()':
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:113: undefined reference to `String::String(char const*)'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:114: undefined reference to `String::String(char const*)'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:120: undefined reference to `String::String(char const*)'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:120: undefined reference to `String::~String()'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:114: undefined reference to `String::~String()'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:113: undefined reference to `String::~String()'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:120: undefined reference to `String::~String()'
/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:114: undefined reference to `String::~String()'
sketch/StarryHorizon.ino.cpp.o:/home/user/dev/watchy/Watchy/examples/WatchFaces/StarryHorizon/StarryHorizon.ino:113: more undefined references to `String::~String()' follow
libraries/WiFi/WiFiSTA.cpp.o: In function `_GLOBAL__sub_I__ZN12WiFiSTAClass14_autoReconnectE':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/WiFi/WiFiSTA.cpp.o: In function `_GLOBAL__sub_I__ZN12WiFiSTAClass14_autoReconnectE':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFiSTA.cpp:74: undefined reference to `String::String(char const*)'
libraries/WiFi/WiFiSTA.cpp.o: In function `_GLOBAL__sub_D__ZN12WiFiSTAClass14_autoReconnectE':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src/WiFiSTA.cpp:74: undefined reference to `String::~String()'
libraries/Arduino_JSON/JSON.cpp.o: In function `_GLOBAL__sub_I__ZN9JSONClassC2Ev':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Arduino_JSON/JSONVar.cpp.o: In function `JSONVar::printTo(Print&) const':
/home/user/Arduino/libraries/Arduino_JSON/src/JSONVar.cpp:299: undefined reference to `Print::print(char const*)'
libraries/Arduino_JSON/JSONVar.cpp.o: In function `_GLOBAL__sub_I__ZN7JSONVarC2EP5cJSONS1_':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Time/DateStrings.cpp.o: In function `_GLOBAL__sub_I__Z8monthStrh':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o:(.literal._ZN10GxEPD2_EPD4initEjbtb+0x4): undefined reference to `Serial'
libraries/GxEPD2/GxEPD2_EPD.cpp.o:(.literal._ZN10GxEPD2_EPD4initEjbtb+0x10): undefined reference to `HardwareSerial::begin(unsigned long, unsigned int, signed char, signed char, bool, unsigned long)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o:(.literal._ZN10GxEPD2_EPD14_waitWhileBusyEPKct+0x8): undefined reference to `Print::println(char const*)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o:(.literal._ZN10GxEPD2_EPD14_waitWhileBusyEPKct+0xc): undefined reference to `Print::println(unsigned long, int)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o: In function `GxEPD2_EPD::init(unsigned int, bool, unsigned short, bool)':
/home/user/Arduino/libraries/GxEPD2/src/GxEPD2_EPD.cpp:242: undefined reference to `HardwareSerial::begin(unsigned long, unsigned int, signed char, signed char, bool, unsigned long)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o: In function `GxEPD2_EPD::_waitWhileBusy(char const*, unsigned short)':
/home/user/Arduino/libraries/GxEPD2/src/GxEPD2_EPD.cpp:242: undefined reference to `Print::println(char const*)'
/home/user/Arduino/libraries/GxEPD2/src/GxEPD2_EPD.cpp:242: undefined reference to `Print::print(char const*)'
/home/user/Arduino/libraries/GxEPD2/src/GxEPD2_EPD.cpp:242: undefined reference to `Print::print(char const*)'
/home/user/Arduino/libraries/GxEPD2/src/GxEPD2_EPD.cpp:242: undefined reference to `Print::println(unsigned long, int)'
libraries/GxEPD2/GxEPD2_EPD.cpp.o: In function `_GLOBAL__sub_I__ZN10GxEPD2_EPDC2EaaaaajttN6GxEPD25PanelEbbb':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/GxEPD2/epd/GxEPD2_154_D67.cpp.o: In function `_GLOBAL__sub_I__ZN14GxEPD2_154_D67C2Eaaaa':
/home/user/Arduino/libraries/GxEPD2/src/epd/../GxEPD2_EPD.h:84: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o: In function `_GLOBAL__sub_I__ZN12Adafruit_GFXC2Ess':
/home/user/Arduino/libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp:1295: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o:(.rodata._ZTV12Adafruit_GFX[vtable for Adafruit_GFX]+0x14): undefined reference to `Print::write(unsigned char const*, unsigned int)'
libraries/Wire/Wire.cpp.o: In function `_GLOBAL__sub_I__ZN7TwoWireC2Eh':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Stream.h:105: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Wire/Wire.cpp.o:(.rodata._ZTV7TwoWire[vtable for TwoWire]+0x2c): undefined reference to `Stream::readBytes(char*, unsigned int)'
libraries/Wire/Wire.cpp.o:(.rodata._ZTV7TwoWire[vtable for TwoWire]+0x34): undefined reference to `Stream::readString()'
libraries/Watchy/BLE.cpp.o: In function `_GLOBAL__sub_I_otaHandler':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Watchy/bma.cpp.o: In function `_GLOBAL__sub_I__ZN6BMA423C2Ev':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/WiFiManager/WiFiManager.cpp.o: In function `_GLOBAL__sub_I__ZN11WiFiManager18_lastconxresulttmpE':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/WiFi/ETH.cpp.o: In function `_GLOBAL__sub_I__ZN8ETHClassC2Ev':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/WiFi/WiFi.cpp.o: In function `_GLOBAL__sub_I__ZN9WiFiClass9printDiagER5Print':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/WiFi/WiFiAP.cpp.o:/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: more undefined references to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)' follow
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass5beginEaaaa+0x0): undefined reference to `spiFrequencyToClockDiv'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass5beginEaaaa+0x4): undefined reference to `spiStartBus'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass5beginEaaaa+0x8): undefined reference to `spiAttachSCK'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass5beginEaaaa+0xc): undefined reference to `spiAttachMISO'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass5beginEaaaa+0x10): undefined reference to `spiAttachMOSI'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass16beginTransactionE11SPISettings+0x0): undefined reference to `spiGetClockDiv'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass16beginTransactionE11SPISettings+0x4): undefined reference to `spiTransaction'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass14endTransactionEv+0x0): undefined reference to `spiEndTransaction'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass8transferEh+0x0): undefined reference to `spiTransferByteNL'
libraries/SPI/SPI.cpp.o:(.literal._ZN8SPIClass8transferEh+0x4): undefined reference to `spiTransferByte'
libraries/SPI/SPI.cpp.o: In function `SPIClass::begin(signed char, signed char, signed char, signed char)':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiFrequencyToClockDiv'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiStartBus'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiAttachSCK'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiAttachMISO'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiAttachMOSI'
libraries/SPI/SPI.cpp.o: In function `SPIClass::beginTransaction(SPISettings)':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiGetClockDiv'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiFrequencyToClockDiv'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiTransaction'
libraries/SPI/SPI.cpp.o: In function `SPIClass::endTransaction()':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiEndTransaction'
libraries/SPI/SPI.cpp.o: In function `SPIClass::transfer(unsigned char)':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiTransferByteNL'
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src/SPI.cpp:269: undefined reference to `spiTransferByte'
libraries/FS/FS.cpp.o: In function `_GLOBAL__sub_I__ZN2fs4File5writeEh':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/FS/vfs_api.cpp.o: In function `_GLOBAL__sub_I__ZN7VFSImpl4openEPKcS1_':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Adafruit_BusIO/Adafruit_BusIO_Register.cpp.o: In function `_GLOBAL__sub_I__ZN23Adafruit_BusIO_RegisterC2EP18Adafruit_I2CDevicethhh':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp.o: In function `_GLOBAL__sub_I__ZN18Adafruit_I2CDeviceC2EhP7TwoWire':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: In function `_GLOBAL__sub_I__ZN18Adafruit_SPIDeviceC2Eaj9_BitOrderhP8SPIClass':
/home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/IPAddress.h:94: undefined reference to `IPAddress::IPAddress(unsigned char, unsigned char, unsigned char, unsigned char)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board ESP32 Dev Module.
Traceback (most recent call last):
File "/home/user/.arduino15/packages/esp32/tools/esptool_py/3.0.0/esptool.py", line 3682, in <module>
_main()
File "/home/user/.arduino15/packages/esp32/tools/esptool_py/3.0.0/esptool.py", line 3675, in _main
main()
File "/home/user/.arduino15/packages/esp32/tools/esptool_py/3.0.0/esptool.py", line 3409, in main
operation_func(args)
File "/home/user/.arduino15/packages/esp32/tools/esptool_py/3.0.0/esptool.py", line 2874, in elf2image
e = ELFFile(args.input)
File "/home/user/.arduino15/packages/esp32/tools/esptool_py/3.0.0/esptool.py", line 2337, in __init__
with open(self.name, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'StarryHorizon.ino.elf'
Multiple libraries were found for "WiFi.h"
Used: /home/user/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi
Not used: /nix/store/7s7wjqyqrfhsx9ikfi3qkgnbgfy67s42-arduino-1.8.13/share/arduino/libraries/WiFi
exit status 1
Error compiling for board ESP32 Dev Module.