Arduino IDE, ESP32 and mDash interface issue

#1

Hello,
I am trying to run the mDash example file “Minimal” and I am following the https://mdash.net/docs/ startup guideline. After installing the library, I tried to compile the file in Arduino IDE but it has shown me the following error.

Library mDash has been declared precompiled:
Using precompiled library in C:\Users\ifthekhar.ahammad\Documents\Arduino\libraries\mDash\src\esp32
The plaform does not support 'compiler.libraries.ldflags' for precompiled libraries.
sketch\Minimal.ino.cpp.o:(.literal._Z5setupv+0x2c): undefined reference to `mDashInit'
sketch\Minimal.ino.cpp.o: In function `setup()':
C:\Users\ifthekhar.ahammad\AppData\Local\Temp\arduino_modified_sketch_386400/Minimal.ino:26: undefined reference to `mDashInit'
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for "WiFi.h"
Used: C:\Users\ifthekhar.ahammad\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board ESP32 Dev Module.

To fix this issue I have found a post in git: https://github.com/cesanta/mDash/issues/8

After following these steps, I tried to recompile the file and now I am getting this error:

Library mDash has been declared precompiled:
Using precompiled library in C:\Users\ifthekhar.ahammad\Documents\Arduino\libraries\mDash\src\esp32
c:/users/ifthekhar.ahammad/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: cannot open linker script file esp32.project.ld: No such file or directory
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for "WiFi.h"
Used: C:\Users\ifthekhar.ahammad\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board ESP32 Dev Module.

I would really appreciate it if someone can help me with this issue.

Thank you for your time and consideration.

Best Regards,
Ifthekhar Ahammad

#2

Modifying platform.txt as descibed in this PR (which is referenced in the issue you linked above) fixes the build with Arduino IDE 1.8.13

#3

@nliviu thank you for your reply. I tried that option. After modifying the platform.txt file I get the second error:

Library mDash has been declared precompiled:
Using precompiled library in C:\Users\ifthekhar.ahammad\Documents\Arduino\libraries\mDash\src\esp32
c:/users/ifthekhar.ahammad/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/…/lib/gcc/xtensa-esp32-elf/5.2.0/…/…/…/…/xtensa-esp32-elf/bin/ld.exe: cannot open linker script file esp32.project.ld: No such file or directory
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for “WiFi.h”
Used: C:\Users\ifthekhar.ahammad\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Error compiling for board ESP32 Dev Module.

#4

Are you sure you have these lines in platform.txt?

compiler.libraries.ldflags=
...
## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} {compiler.libraries.ldflags} -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} -Wl,--end-group -Wl,-EL -o "{build.path}/{build.project_name}.elf"

It works for me with Arduino 1.8.13, Arduino esp32 1.0.4 and mDash 1.2.13.