Was trying to get a ESP8266-based Gateway working and kept getting a "exit status 1" error that then said "Error compiling for board xxx" where xxx is any ESP8266 board. Once I downgraded esp8266 boards file to version 3.0.2, the compile error was gone, and everything worked fine.
The only clue as to what's wrong with newer versions is this text from the compile window (except for first and last line, everything was in orange text):
"C:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 "@C:\\Users\\Doug\\AppData\\Local\\Temp\\arduino_build_788282/core/build.opt" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0/tools/sdk/include" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0/tools/sdk/lwip2/include" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\Doug\\AppData\\Local\\Temp\\arduino_build_788282/core" -c "@C:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0/tools/warnings/extra-g++" -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10813 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" "-DARDUINO_BOARD_ID=\"d1_mini\"" -DFLASHMODE_DIO "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0\\cores\\esp8266" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0\\variants\\d1_mini" "-IC:\\Users\\Doug\\Documents\\Arduino\\libraries\\MySensors" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0\\libraries\\SPI" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0\\libraries\\ESP8266WiFi\\src" "-IC:\\Users\\Doug\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.1.0\\libraries\\EEPROM" "C:\\Users\\Doug\\AppData\\Local\\Temp\\arduino_build_788282\\sketch\\LoRa_GatewayESP8266OTA_RFM95_v1.ino.cpp" -o "C:\\Users\\Doug\\AppData\\Local\\Temp\\arduino_build_788282\\sketch\\LoRa_GatewayESP8266OTA_RFM95_v1.ino.cpp.o"
In file included from C:\Users\Doug\Documents\Arduino\libraries\MySensors/MySensors.h:235,
from C:\Users\Doug\Documents\Arduino\LoRa_GatewayESP8266OTA_RFM95_v1\LoRa_GatewayESP8266OTA_RFM95_v1.ino:174:
C:\Users\Doug\Documents\Arduino\libraries\MySensors/core/MyGatewayTransportEthernet.cpp: In function 'bool gatewayTransportAvailable()':
C:\Users\Doug\Documents\Arduino\libraries\MySensors/core/MyGatewayTransportEthernet.cpp:430:44: warning: 'WiFiClient WiFiServer::available(uint8_t*)' is deprecated: Renamed to accept(). [-Wdeprecated-declarations]
430 | clients[i] = _ethernetServer.available();
| ^
In file included from C:\Users\Doug\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:40,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyHwESP8266.h:23,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyHwESP8266.cpp:20,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/MySensors.h:58,
from C:\Users\Doug\Documents\Arduino\LoRa_GatewayESP8266OTA_RFM95_v1\LoRa_GatewayESP8266OTA_RFM95_v1.ino:174:
C:\Users\Doug\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266WiFi\src/WiFiServer.h:85:14: note: declared here
85 | WiFiClient available(uint8_t* status = NULL) __attribute__((deprecated("Renamed to accept().")));
| ^~~~~~~~~
In file included from C:\Users\Doug\Documents\Arduino\libraries\MySensors/MySensors.h:235,
from C:\Users\Doug\Documents\Arduino\LoRa_GatewayESP8266OTA_RFM95_v1\LoRa_GatewayESP8266OTA_RFM95_v1.ino:174:
C:\Users\Doug\Documents\Arduino\libraries\MySensors/core/MyGatewayTransportEthernet.cpp:445:48: warning: 'WiFiClient WiFiServer::available(uint8_t*)' is deprecated: Renamed to accept(). [-Wdeprecated-declarations]
445 | EthernetClient c = _ethernetServer.available();
| ^
In file included from C:\Users\Doug\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:40,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyHwESP8266.h:23,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyHwESP8266.cpp:20,
from C:\Users\Doug\Documents\Arduino\libraries\MySensors/MySensors.h:58,
from C:\Users\Doug\Documents\Arduino\LoRa_GatewayESP8266OTA_RFM95_v1\LoRa_GatewayESP8266OTA_RFM95_v1.ino:174:
C:\Users\Doug\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266WiFi\src/WiFiServer.h:85:14: note: declared here
85 | WiFiClient available(uint8_t* status = NULL) __attribute__((deprecated("Renamed to accept().")));
| ^~~~~~~~~
In file included from C:\Users\Doug\Documents\Arduino\libraries\MySensors/MySensors.h:441,
from C:\Users\Doug\Documents\Arduino\LoRa_GatewayESP8266OTA_RFM95_v1\LoRa_GatewayESP8266OTA_RFM95_v1.ino:174:
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'bool can_yield()':
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:95:9: error: 'cont_can_yield' was not declared in this scope; did you mean 'can_yield'?
95 | return cont_can_yield(g_pcont);
| ^~~~~~~~~~~~~~
| can_yield
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void esp_yield_within_cont()':
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:101:2: error: 'cont_yield' was not declared in this scope; did you mean 'can_yield'?
101 | cont_yield(g_pcont);
| ^~~~~~~~~~
| can_yield
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp: In function 'void loop_task(ETSEvent*)':
C:\Users\Doug\Documents\Arduino\libraries\MySensors/hal/architecture/ESP8266/MyMainESP8266.cpp:199:26: error: invalid operands of types 'void' and 'int' to binary 'operator!='
199 | if (cont_check(g_pcont) != 0) {
| ~~~~~~~~~~~~~~~~~~~ ^~ ~
| | |
| void int
Using library MySensors at version 2.3.2 in folder: C:\Users\Doug\Documents\Arduino\libraries\MySensors
``