After upgrading the new version platformio core 4.2.0, the library wont compile anymore. It was all working yesterday.
Sorry, can’t reproduce that.
Can you give a minimum reproducible sample code (including platformio.ini
), show compile log, and include OS details.
I have a project using ESPAsyncTCP, and have just updated to PIO 4.2.0, and the project is still compiling fine.
platform = espressif8266@2.3.2
framework = arduino
board = d1_mini
build_flags = '-DDEVICE_NAME="middleRoom_dualPower"'
lib_deps =
305@1.2.2 ; ESPAsyncTCP
306@1.2.2 ; ESP Async WebServer
1303@3.1.0 ; FauxmoESP
1438@0.22 ; ESPAsyncWiFiManager
5741@1.1.1 ; EasyButton
Build log
Processing middleRoom_dualPower_OTA (platform: espressif8266@2.3.2; framework: arduino; board: d1_mini)
--------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 2.3.2 > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
- framework-arduinoespressif8266 2.20603.191216 (2.6.3)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.20800.0 (2.8.0)
- toolchain-xtensa 2.40802.191122 (4.8.2)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 37 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESPAsyncTCP> 1.2.2
| |-- <ESP8266WiFi> 1.0
|-- <ESP Async WebServer> 1.2.2
| |-- <ESPAsyncTCP> 1.2.2
| | |-- <ESP8266WiFi> 1.0
| |-- <Hash> 1.0
| |-- <ESP8266WiFi> 1.0
|-- <FauxmoESP> 3.1.0
| |-- <ESPAsyncTCP> 1.2.2
| | |-- <ESP8266WiFi> 1.0
| |-- <ESP8266WiFi> 1.0
|-- <ESPAsyncWiFiManager> 0.22
| |-- <DNSServer> 1.1.1
| | |-- <ESP8266WiFi> 1.0
| |-- <ESP8266WiFi> 1.0
| |-- <ESP Async WebServer> 1.2.2
| | |-- <ESPAsyncTCP> 1.2.2
| | | |-- <ESP8266WiFi> 1.0
| | |-- <Hash> 1.0
| | |-- <ESP8266WiFi> 1.0
|-- <EasyButton> 1.1.1
|-- <ArduinoOTA> 1.0
| |-- <ESP8266WiFi> 1.0
| |-- <ESP8266mDNS> 1.2
| | |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
| |-- <ESP8266WiFi> 1.0
|-- <Ticker> 1.0
Building in release mode
Retrieving maximum program size .pio/build/middleRoom_dualPower_OTA/firmware.elf
Checking size .pio/build/middleRoom_dualPower_OTA/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 39.9% (used 32716 bytes from 81920 bytes)
Flash: [==== ] 40.0% (used 417596 bytes from 1044464 bytes)
============================================================= [SUCCESS] Took 3.13 seconds =============================================================
Environment Status Duration
------------------------ -------- ------------
middleRoom_dualPower IGNORED
middleRoom_dualPower_OTA SUCCESS 00:00:03.130
Thank you for your reply. I realized the project I am working on is not using the library ESPAsyncTCP_ID305. It was just there in the libdeps/esp32dev folder. Therefore I just removed it for now and it has been compiling without it.
Ouch! Probably a leftover… unfortunately PlatformIO doesn’t seem to remove libraries if they are no longer declared in platformio.ini
… so you can occasionally get those hanger-ons if you chop and change libraries. Have to chase that one up… I seem to remember it being raised as a feature request…
Edit: or maybe not. This thread was close, but not quite, so I opened a feature request here to see what Ivan thinks.
Edit2: This was what I was thinking of, and it’s on the list to be implemented.
Thank you for your help, appreciated.
Same problem here w.r.t. ESPAsyncTCP_ID305 causing build errors after upgrading PIO. Build output:
In file included from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/opt.h:51:0,
from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/init.h:40,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:31,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.h:26,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:22:
C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
#define TCP_MSS CONFIG_TCP_MSS
^
In file included from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:25:0,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.h:26,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:22:
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src/async_config.h:13:0: note: this is the location of the previous definition
#define TCP_MSS (1460)
^
In file included from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/opt.h:51:0,
from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/init.h:40,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:31,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:75:
C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
#define TCP_MSS CONFIG_TCP_MSS
^
In file included from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:25:0,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:75:
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src/async_config.h:13:0: note: this is the location of the previous definition
#define TCP_MSS (1460)
^
In file included from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/opt.h:51:0,
from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/init.h:40,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:31,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\SyncClient.cpp:23:
C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
#define TCP_MSS CONFIG_TCP_MSS
^
In file included from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\SyncClient.h:32:0,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\SyncClient.cpp:22:
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src/async_config.h:13:0: note: this is the location of the previous definition
#define TCP_MSS (1460)
^
In file included from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/opt.h:51:0,
from C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwip/init.h:40,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:31,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.h:37,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:29:
C:\Users\Mark\.platformio\packages\framework-arduinoespressif32\tools\sdk\include\lwip/lwipopts.h:326:0: warning: "TCP_MSS" redefined
#define TCP_MSS CONFIG_TCP_MSS
^
In file included from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.h:25:0,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.h:37,
from C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:29:
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src/async_config.h:13:0: note: this is the location of the previous definition
#define TCP_MSS (1460)
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\SyncClient.cpp:25:24: fatal error: interrupts.h: No such file or directory
********************************************************************
* Looking for interrupts.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:interrupts.h"
* Web > https://platformio.org/lib/search?query=header:interrupts.h
*
********************************************************************
compilation terminated.
*** [.pio\build\esp32doit-devkit-v1\lib125\ESPAsyncTCP_ID305\SyncClient.cpp.o] Error 1
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In constructor 'AsyncPrinter::AsyncPrinter(AsyncClient*, size_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:48:11: error: 'panic' was not declared in this scope
panic(); //What should we do?
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'int AsyncPrinter::connect(IPAddress, uint16_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:71:11: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'int AsyncPrinter::connect(const char*, uint16_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:88:11: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'void AsyncPrinter::_onConnect(AsyncClient*)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:109:11: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'AsyncPrinter& AsyncPrinter::operator=(const AsyncPrinter&)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:130:11: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp: In member function 'size_t AsyncPrinter::_sendBuffer()':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\AsyncPrinter.cpp:182:11: error: 'panic' was not declared in this scope
panic(); // Connection should be aborted instead
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'bool AsyncClient::connect(IPAddress, uint16_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:248:8: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
addr.addr = ip;
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'bool AsyncClient::connect(const char*, uint16_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:282:35: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return connect(IPAddress(addr.addr), port);
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'bool AsyncClient::operator==(const AsyncClient&)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:331:66: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return (_pcb != NULL && other._pcb != NULL && (_pcb->remote_ip.addr == other._pcb->remote_ip.addr) && (_pcb->remote_port == other._pcb->remote_port));
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:331:96: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return (_pcb != NULL && other._pcb != NULL && (_pcb->remote_ip.addr == other._pcb->remote_ip.addr) && (_pcb->remote_port == other._pcb->remote_port));
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncClient::_dns_found(const ip_addr*)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:707:31: error: 'const struct ip_addr' has no member named 'addr'
connect(IPAddress(ipaddr->addr), _connect_port);
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getRemoteAddress()':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:837:26: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return _pcb->remote_ip.addr;
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp: In constructor 'AsyncTCPbuffer::AsyncTCPbuffer(AsyncClient*)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:35:15: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'uint32_t AsyncClient::getLocalAddress()':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:849:25: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
return _pcb->local_ip.addr;
^
*** [.pio\build\esp32doit-devkit-v1\lib125\ESPAsyncTCP_ID305\AsyncPrinter.cpp.o] Error 1
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp: In member function 'virtual size_t AsyncTCPbuffer::write(const uint8_t*, size_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:127:23: error: 'panic' was not declared in this scope
panic();
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp: In member function 'void AsyncServer::begin()':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCP.cpp:1122:14: error: 'ip_addr_t {aka struct ip_addr}' has no member named 'addr'
local_addr.addr = (uint32_t) _addr;
^
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp: In member function 'size_t AsyncTCPbuffer::_handleRxBuffer(uint8_t*, size_t)':
C:\Users\Mark\.platformio\lib\ESPAsyncTCP_ID305\src\ESPAsyncTCPbuffer.cpp:469:21: error: 'panic' was not declared in this scope
panic(); //TODO: What action should this be ?
^
*** [.pio\build\esp32doit-devkit-v1\lib125\ESPAsyncTCP_ID305\ESPAsyncTCP.cpp.o] Error 1
*** [.pio\build\esp32doit-devkit-v1\lib125\ESPAsyncTCP_ID305\ESPAsyncTCPbuffer.cpp.o] Error 1
Fixed in