You have provide excellent tutorials on ESP8266 and ESP 32. Do you have plans in near future to provide tutorials on the latest version of ESP32 i.e. ESP32S2.
D. V. Apte
Baroda – India
Basically, PIO can’t recognize/download the latest version of the library and uses a version with deprecated methods. This will result in the following error: “undefined reference to ‘mbedtls_md5_starts´”.
There are several ways to fix/workaround this issue:
1. Fix the library file to use the latest methods:
Hover your mouse over the reference to the directory of the problematic file. You’ll get a little box with a link to open that file. Press CTRL and click on the blue link to open the file.
PlatformIO will open the problematic file (WebAuthentication.cpp) on the lines that are causing the issue. The problematic lines are lines 74, 75, and 76. Replace them with the following:
mbedtls_md5_starts_ret(&_ctx); mbedtls_md5_update_ret(&_ctx, data, len); mbedtls_md5_finish_ret(&_ctx, _buf);
Save the file by pressing CTRL+S. Then, you can close that file.
Try to compile and upload the code again to your board. The issue should be gone.
2. Use espressif version 3.5.0.
Replace the platform to email@example.com instead espressif32 in the platformio.ini file like this:
platform = firstname.lastname@example.org
3. Use the library by referencing the library repository link
Instead of using the following on your platformio.ini:
lib_deps = ESP Async WebServer
use the following instead:
lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git
Thanks for your suggestion.
We may came up with some tutorials for that, but not in a near future.
We have other projects lined up first.
Hello, any news regarding ESP32S2 ?
I purchased your (excellent) Ebook on webservers, just to discover the projects do not work for ESP32S2.
Apparently, the library you use, ESPAsyncWebServer, doesn’t work for the S2.
undefined reference to `mbedtls_md5_starts’
Any idea ? Thanks
Did you try the examples with a regular ESP32?
Are you using Vs Code or Arduino IDE?
THANKS FOR YOUR VERY QUICK REPLY, IT SEEMS TO BE WORKING NOW !
I am using Arduino, your question regarding ESP32 helped me, I was getting the same error with pure ESP32.
I managed, with pain,to remove the 3 libraries (ESPAsyncWebServer, AsyncTCP & ESPAsyncTCP were placed twice on my disc, including one set under the /documents/Arduino/librairies and one in user//appdata/local/arduino15…..
And after installing up to date libraries from zip files, It works, both for ESP32 and ESP32S2
Thanks a lot
I’m glad you solved the problem.
If you need further help, you just need to open a new question in our forum.
I’ve just updated to the latest libraries and now I am getting: “undefined reference to `mbedtls_md5_starts'”
I am using a AZ Delivery devkit v4 (ESP32) and VS code. I am sure it was working before.
I used the sensor readings example from the build-web-servers-ebook with slight modifications (only on the sensor side) but also other SW that is based on ESP async web server seems to fail.
Any idea where to look?
To be honest, I’m not sure why that error happens.
It happened to me before and to other readers. The issue was solved by reinstalling IDE and libraries from scratch. I hope that fixes the issue.
Thanks for your reply. I tried something different meanwhile.
I used ottowinter/ESPAsyncWebServer-esphome@^2.1.0 instead of ESP Async WebServer and it at least compiles without a problem. I haven’t tested functionality yet but my guess is that it will work.
I also did clean the complete workspace in VSCode but that didn’t help.
Did a complete reinstall of IDE including platformIO. It seems it is now working again.
At least thePWM slider web server example did compile and execute OK.
Let’s hope the problem is solved.
I’ll mark this issue as resolved. If you need further help, you just need to open a new question in our forum.
The problem came back again.
I found a way to solve it udating the library directly from github.
I had the same issue and I had to add the following to my .ini file and it solved it:
lib_ldf_mode = chain+
Thanks for sharing that solution.
I’ll add that workaround in future projects in case the user has problems with the library.
Unfortunately Jonathans solution comes with a drawback in my case.
The Build Filesystem option disappears from the project tasks using the changes in .ini file. Actually the whole Platform option disappears.
The problem is that the whole Platform item is not present in platformio tab of VS-Code.
Normally you find commands like Build Filesystem Image, Program Size, Upload File System Image … in there.
Tried to include two screenshot but I am not sure it works.
To include a screenshot, please upload your images to Google drive, or Imgur, or Dropbox, for example, and then share a link to the pictures.
Have you tried searching on the PlatformIO forum if there’s a similar issue?
For example, take a look at the following issues and see if some of the suggestions help:
Let me know if this helps.