V3 macro bug in library with no Issues menu

The library ESPAsyncWebSrv has a compile error

In file included from /Users/ronalexander/Library/CloudStorage/OneDrive-Personal/Documents/Electronics/SourceCode/Arduino/libraries/ESPAsyncWebSrv/src/WebAuthentication.cpp:21: /Users/ronalexander/Library/CloudStorage/OneDrive-Personal/Documents/Electronics/SourceCode/Arduino/libraries/ESPAsyncWebSrv/src/WebAuthentication.h:27:51: error: missing binary operator before token "(" 27 | #if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0) | ^ 

The bypass is to do a back level from 1.2.8 to 1.2.7 but the macro needs to be properly fixed. I went to github for the library (not github trained) and there is NO Issues thing so I can't post there. I am tagging @ptillisch in order to get the attention of someone who might know how to properly deal with this. @edthewino

1 Like

...being proactive in a good way... :+1:

1 Like

Hi @sonofcy. Which version of the "esp32" boards platform are you using? You can determine which version you have installed by looking in the Arduino IDE Boards Manager.

3.0.7

This is unexpected. I am able to reproduce the error when compiling the library using version 1.0.6 of the platform. The reason it occurs with that platform is because that was before the ESP_ARDUINO_VERSION_VAL macro was added to the core in version 2.0.0:

https://github.com/espressif/arduino-esp32/blame/3.0.7/cores/esp32/esp_arduino_version.h#L33

But the error does not occur when I compile the library using the modern version 3.0.7 of the platform.

I'm going to ask you to provide the full verbose output from a compilation.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Check the box next to "Show verbose output during: ☐ compile" in the "Preferences" dialog.
  3. Click the "OK" button.
    The "Preferences" dialog will close.
  4. Select Sketch > Verify/Compile from the Arduino IDE menus.
  5. Wait for the compilation to fail.
  6. You will see a "Compilation error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  7. Open a forum reply here by clicking the "Reply" button.
  8. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  9. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the compilation output into the code block.
  10. Move the cursor outside of the code block markup before you add any additional text to your reply.
  11. Click the "Reply" button to post the output.

In case the output is longer than the forum software will allow to be added to a post, you can instead save it to a .txt file and then attach that file to a reply here.

Click here for attachment instructions

  1. Open any text editor program.
  2. Paste the copied output into the text editor.
  3. Save the file in .txt format.
  4. Open a forum reply here by clicking the "Reply" button.
  5. Click the "Upload" icon (Upload icon) on the post composer toolbar:

    The "Open" dialog will open.
  6. Select the .txt file you saved from the "Open" dialog.
  7. Click the "Open" button.
    The dialog will close.
  8. Click the "Reply" button to publish the post.

Alternatively, instead of using the "Upload" icon on the post composer toolbar as described in steps (5) - (7) above, you can simply drag and drop the .txt file onto the post composer field to attach it.

I am not the OP. I think the issue has been resolved and may be due to using an 8266 board rather than an esp32.

You are indeed the OP of this forum topic.

Is this related to some other forum topic?

If so, why didn't you mention that? The other topic might have provided the forum helpers with valuable context that would allow us to avoid wasting time investigating the problem.

Yes I created this thread in order to get the arduino team to look into it. I did that because the library git has no issues thing.
Here is the original thread. Note post #3 in that thread and the comment re ESP32 vs 8266. The OP is using an 8266.
https://forum.arduino.cc/t/esp8266-sketch-compile-fail-on-spiffs-deprecated-warning/1319786

In the future, please make sure to link to relevant topics in your posts.

This is a 3rd party library so fixing the bug is not the responsibility of the Arduino developers.

Yes, unfortunately the owner of the repository has not enabled issues.

However, it is still possible to contribute to the library via pull requests (AKA "PRs").

A community member has already submitted a pull request to fix this bug in the library:

Ok, I am not git trained, just an old (82) tube jockey. I didn't link back since I thought the error was fairly straightforward. Could you let @edthewino know how to know when it is fixed? I am sure it can be done but don't know how.

I went one better and provided instructions for installing the fixed version right away:

Fantastic, now he can get back to the SPIFFS/LittleFS issue, we think the library code uses SPIFFS which is deprecated. Does he ignore that as some have suggested? Or does the 'community' fix that too? @edthewino

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.