Skip to content

Error Compiling Library ESPAsyncWebServer #9753

Description

@Zhu-jiatong

Board

Any

Device Description

Any

Hardware Configuration

Any

Version

v3.0.0

IDE Name

Arduino IDE with VSCode

Operating System

Windows 10

Flash frequency

80Mhz

PSRAM enabled

no

Upload speed

921600

Description

Cannot compile sketch that uses ESPAsyncWebServer. It seems to be an issue with breaking changes to core library.

Sketch

#include <ESPAsyncWebServer.h>
#include <SD.h>

AsyncWebServer server(80);

void setup()
{
	Serial.begin(115200);
}

void loop()
{
}

Debug Message

C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\WebAuthentication.cpp: In function 'bool getMD5(uint8_t*, uint16_t, char*)':
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\WebAuthentication.cpp:74:3: error: 'mbedtls_md5_starts_ret' was not declared in this scope; did you mean 'mbedtls_md5_starts'?
74 |   mbedtls_md5_starts_ret(&_ctx);
|   ^~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_md5_starts
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\WebAuthentication.cpp:75:3: error: 'mbedtls_md5_update_ret' was not declared in this scope; did you mean 'mbedtls_md5_update'?
75 |   mbedtls_md5_update_ret(&_ctx, data, len);
|   ^~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_md5_update
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\WebAuthentication.cpp:76:3: error: 'mbedtls_md5_finish_ret' was not declared in this scope; did you mean 'mbedtls_md5_finish'?
76 |   mbedtls_md5_finish_ret(&_ctx, _buf);
|   ^~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_md5_finish
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncEventSource.cpp: In member function 'void AsyncEventSourceClient::_queueMessage(AsyncEventSourceMessage*)':
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncEventSource.cpp:188:7: error: 'ets_printf' was not declared in this scope; did you mean 'vswprintf'?
188 |       ets_printf("ERROR: Too many messages queued\n");
|       ^~~~~~~~~~
|       vswprintf
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp: In member function 'void AsyncWebSocketClient::_queueMessage(AsyncWebSocketMessage*)':
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:551:7: error: 'ets_printf' was not declared in this scope; did you mean 'vswprintf'?
551 |       ets_printf("ERROR: Too many messages queued\n");
|       ^~~~~~~~~~
|       vswprintf
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp: In member function 'IPAddress AsyncWebSocketClient::remoteIP()':
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:832:28: error: call of overloaded 'IPAddress(unsigned int)' is ambiguous
832 |         return IPAddress(0U);
|                            ^
In file included from C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/Arduino.h:196,
from C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:21:
C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/IPAddress.h:115:3: note: candidate: 'IPAddress::IPAddress(const ip_addr_t*)'
115 |   IPAddress(const ip_addr_t *addr);
|   ^~~~~~~~~
C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/IPAddress.h:73:3: note: candidate: 'IPAddress::IPAddress(const IPAddress&)'
73 |   IPAddress(const IPAddress &address);
|   ^~~~~~~~~
C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/IPAddress.h:72:3: note: candidate: 'IPAddress::IPAddress(const char*)'
72 |   IPAddress(const char *address);
|   ^~~~~~~~~
C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/IPAddress.h:69:3: note: candidate: 'IPAddress::IPAddress(const uint8_t*)'
69 |   IPAddress(const uint8_t *address);
|   ^~~~~~~~~
C:\Users\...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0\cores\esp32/IPAddress.h:67:3: note: candidate: 'IPAddress::IPAddress(uint32_t)'
67 |   IPAddress(uint32_t address);
|   ^~~~~~~~~
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp: In constructor 'AsyncWebSocketResponse::AsyncWebSocketResponse(const String&, AsyncWebSocket*)':
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:1262:3: error: 'mbedtls_sha1_starts_ret' was not declared in this scope; did you mean 'mbedtls_sha1_starts'?
1262 |   mbedtls_sha1_starts_ret(&ctx);
|   ^~~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_sha1_starts
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:1263:3: error: 'mbedtls_sha1_update_ret' was not declared in this scope; did you mean 'mbedtls_sha1_update'?
1263 |   mbedtls_sha1_update_ret(&ctx, (const unsigned char*)key.c_str(), key.length());
|   ^~~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_sha1_update
C:\Users\...\Documents\Arduino\libraries\ESPAsyncWebServer\src\AsyncWebSocket.cpp:1264:3: error: 'mbedtls_sha1_finish_ret' was not declared in this scope; did you mean 'mbedtls_sha1_finish'?
1264 |   mbedtls_sha1_finish_ret(&ctx, hash);
|   ^~~~~~~~~~~~~~~~~~~~~~~
|   mbedtls_sha1_finish
Error during build: exit status 1
IntelliSense configuration updated. To manually rebuild your IntelliSense configuration run "Ctrl+Alt+I"
[Error] Verifying sketch 'TestServer.ino': Exit with code=1

Other Steps to Reproduce

Compile the sketch using the 3.0.0 version.

I have checked existing issues, online documentation and the Troubleshooting Guide

  • I confirm I have checked existing issues, online documentation and Troubleshooting guide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: LibrariesIssue is related to Library support.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions