Skip to content

Compilation errors after updating ESPAsyncWebServer to the latest version (3.10.1+sha.9d9ebca) #401

@cniedzi

Description

@cniedzi

Platform

ESP32

IDE / Tooling

Pioarduino

What happened?

Hi,

After updating ESPAsyncWebServer to the latest version, I'm getting the following compilation errors:

In file included from C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/WebServer.h:30,
                 from .pio/libdeps/esp32s3/WiFiManager/WiFiManager.h:94,
                 from src/main.cpp:59:
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:18: error: expected identifier before '(' token
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                  ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:3: note: in expansion of macro 'HTTP_ANY'
  100 |   HTTP_ANY = 0b0111111111111111,
      |   ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:18: error: expected '}' before '(' token
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                  ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:3: note: in expansion of macro 'HTTP_ANY'
  100 |   HTTP_ANY = 0b0111111111111111,
      |   ^~~~~~~~
In file included from src/main.cpp:61:
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:84:32: note: to match this '{'
   84 | enum AsyncWebRequestMethodType {
      |                                ^
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:31: error: invalid conversion from 'int' to 'AsyncWebRequestMethod::AsyncWebRequestMethodType' [-fpermissive]
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                               ^~~
      |                               |
      |                               int
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:3: note: in expansion of macro 'HTTP_ANY'
  100 |   HTTP_ANY = 0b0111111111111111,
      |   ^~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:12: error: expected ',' or ';' before '=' token
  100 |   HTTP_ANY = 0b0111111111111111,
      |            ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:102:1: error: expected declaration before '}' token
  102 | };  // namespace AsyncWebRequestMethod
      | ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h: In member function 'AsyncCallbackWebHandler& AsyncWebServer::on(AsyncURIMatcher, ArRequestHandlerFunction)':
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:18: error: expected unqualified-id before '(' token
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                  ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:1559:54: note: in expansion of macro 'HTTP_ANY'
 1559 |     return on(std::move(uri), AsyncWebRequestMethod::HTTP_ANY, onRequest);
      |                                                      ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:19: error: reference to 'HTTPMethod' is ambiguous
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                   ^~~~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:1559:54: note: in expansion of macro 'HTTP_ANY'
 1559 |     return on(std::move(uri), AsyncWebRequestMethod::HTTP_ANY, onRequest);
      |                                                      ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:19: note: candidates are: 'AsyncWebRequestMethod::AsyncWebRequestMethodType AsyncWebRequestMethod::HTTPMethod'
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                   ^~~~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:3: note: in expansion of macro 'HTTP_ANY'
  100 |   HTTP_ANY = 0b0111111111111111,
      |   ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:6:26: note:                 'typedef enum http_method HTTPMethod'
    6 | typedef enum http_method HTTPMethod;
      |                          ^~~~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/WebHandlerImpl.h: In constructor 'AsyncCallbackWebHandler::AsyncCallbackWebHandler()':
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:18: error: expected unqualified-id before '(' token
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                  ^
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/WebHandlerImpl.h:65:70: note: in expansion of macro 'HTTP_ANY'
   65 |   AsyncCallbackWebHandler() : _uri(), _method(AsyncWebRequestMethod::HTTP_ANY), _onRequest(NULL), _onUpload(NULL), _onBody(NULL), _isRegex(false) {}
      |                                                                      ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:19: error: reference to 'HTTPMethod' is ambiguous
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                   ^~~~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/WebHandlerImpl.h:65:70: note: in expansion of macro 'HTTP_ANY'
   65 |   AsyncCallbackWebHandler() : _uri(), _method(AsyncWebRequestMethod::HTTP_ANY), _onRequest(NULL), _onUpload(NULL), _onBody(NULL), _isRegex(false) {}
      |                                                                      ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:7:19: note: candidates are: 'AsyncWebRequestMethod::AsyncWebRequestMethodType AsyncWebRequestMethod::HTTPMethod'
    7 | #define HTTP_ANY (HTTPMethod)(255)
      |                   ^~~~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:100:3: note: in expansion of macro 'HTTP_ANY'
  100 |   HTTP_ANY = 0b0111111111111111,
      |   ^~~~~~~~
C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:6:26: note:                 'typedef enum http_method HTTPMethod'
    6 | typedef enum http_method HTTPMethod;
      |                          ^~~~~~~~~~
Compiling .pio\build\esp32s3\lib512\Adafruit ILI9341\Adafruit_ILI9341.cpp.o
Compiling .pio\build\esp32s3\lib931\AsyncUDP\AsyncUDP.cpp.o
Compiling .pio\build\esp32s3\lib6f4\DNSServer\DNSServer.cpp.o
Compiling .pio\build\esp32s3\libb05\ESPmDNS\ESPmDNS.cpp.o
src/main.cpp: In function 'void setupAsyncServer()':
src/main.cpp:2441:18: error: reference to 'HTTP_GET' is ambiguous
 2441 |   Server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
      |                  ^~~~~~~~
.pio/libdeps/esp32s3/ESPAsyncWebServer/src/ESPAsyncWebServer.h:85:3: note: candidates are: 'AsyncWebRequestMethod::AsyncWebRequestMethodType AsyncWebRequestMethod::HTTP_GET'
   85 |   HTTP_GET = 0b0000000000000001,
      |   ^~~~~~~~
In file included from C:/Users/Czarek/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src/HTTP_Method.h:4:
C:/Users/Czarek/.platformio/packages/framework-espidf/components/http_parser/http_parser.h:138:31: note:                 'http_method HTTP_GET'
  138 | #define XX(num, name, string) HTTP_##name = num,
      |                               ^~~~~
C:/Users/Czarek/.platformio/packages/framework-espidf/components/http_parser/http_parser.h:96:3: note: in expansion of macro 'XX'
   96 |   XX(1,  GET,         GET)          \
      |   ^~
C:/Users/Czarek/.platformio/packages/framework-espidf/components/http_parser/http_parser.h:139:3: note: in expansion of macro 'HTTP_METHOD_MAP'
  139 |   HTTP_METHOD_MAP(XX)
      |   ^~~~~~~~~~~~~~~
src/main.cpp:2450:33: error: reference to 'HTTP_POST' is ambiguous
 2450 |   Server.on("/upload_playlist", HTTP_POST, [](AsyncWebServerRequest *request) {

There are libraries used in my project:

Platform espressif32 @ 55.3.37+sha.a9fac07 (required: git+https://github.com/pioarduino/platform-espressif32.git)
├── contrib-piohome @ 3.4.4 (required: C:\Users\Czarek\.platformio\packages\contrib-piohome)
├── framework-arduinoespressif32 @ 3.3.7 (required: https://github.com/espressif/arduino-esp32/releases/download/3.3.7/esp32-core-3.3.7.tar.xz)
├── framework-arduinoespressif32-libs @ 5.5.0+sha.87912cd291 (required: https://github.com/espressif/arduino-esp32/releases/download/3.3.7/esp32-core-3.3.7-libs.tar.xz)
├── framework-espidf @ 3.50502.0 (required: https://github.com/pioarduino/esp-idf/releases/download/v5.5.2.260206/esp-idf-v5.5.2.tar.xz)
├── tool-cmake @ 4.0.3 (required: C:\Users\Czarek\.platformio\packages\tool-cmake)
├── tool-esp-rom-elfs @ 2024.10.11 (required: C:\Users\Czarek\.platformio\packages\tool-esp-rom-elfs)
├── tool-esptoolpy @ 5.1.2 (required: C:\Users\Czarek\.platformio\packages\tool-esptoolpy)
├── tool-ninja @ 1.13.1 (required: C:\Users\Czarek\.platformio\packages\tool-ninja)
├── tool-scons @ 4.40801.0 (required: C:\Users\Czarek\.platformio\packages\tool-scons)
└── toolchain-xtensa-esp-elf @ 14.2.0+20251107 (required: C:\Users\Czarek\.platformio\packages\toolchain-xtensa-esp-elf)

Libraries
├── Adafruit GFX Library @ 1.12.5+sha.7ab6d09 (required: git+https://github.com/adafruit/Adafruit-GFX-Library)
│   └── Adafruit BusIO @ 1.17.4 (required: Adafruit BusIO)
├── Adafruit ILI9341 @ 1.6.3+sha.dbb447a (required: git+https://github.com/adafruit/Adafruit_ILI9341)
│   ├── Adafruit STMPE610 @ 1.1.6 (required: Adafruit STMPE610)
│   ├── Adafruit TSC2007 @ 1.1.2 (required: Adafruit TSC2007)
│   │   └── Adafruit SH110X @ 2.1.14 (required: Adafruit SH110X)
│   └── Adafruit TouchScreen @ 1.1.6 (required: Adafruit TouchScreen)
├── Adafruit ST7735 and ST7789 Library @ 1.11.0+sha.62112b9 (required: git+https://github.com/adafruit/Adafruit-ST7735-Library)
│   └── Adafruit seesaw Library @ 1.7.9 (required: Adafruit seesaw Library)
├── ESP32-audioI2S @ 3.4.5+sha.1c5ac3a (required: git+https://github.com/schreibfaul1/ESP32-audioI2S.git)
├── ESPAsyncWebServer @ 3.10.1+sha.9d9ebca (required: git+https://github.com/ESP32Async/ESPAsyncWebServer)
│   └── AsyncTCP @ 3.4.10 (required: ESP32Async/AsyncTCP @ ^3.4.10)
├── LovyanGFX @ 1.2.19+sha.4299835 (required: git+https://github.com/lovyan03/LovyanGFX)
└── WiFiManager @ 2.0.17+sha.4131fe6 (required: git+https://github.com/tzapu/WiFiManager)

Should I update anything else?

Stack Trace

n/a

Minimal Reproductible Example (MRE)

n/a

I confirm that:

  • I have read the documentation.
  • I have searched for similar discussions.
  • I have searched for similar issues.
  • I have looked at the examples.
  • I have upgraded to the lasted version of ESPAsyncWebServer (and AsyncTCP for ESP32).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions