I tried to used ESP-CAM to firmware TinyML model from Edge Impulse. I ran successfully example from Edge Impulse but cannot ran my model created by Edge Impulse.
Err:
Error compiling for board AI Thinker ESP32-CAM.
I tried to used ESP-CAM to firmware TinyML model from Edge Impulse. I ran successfully example from Edge Impulse but cannot ran my model created by Edge Impulse.
Err:
Error compiling for board AI Thinker ESP32-CAM.
The picture of the tiny text is hard to read. Click on the "Copy error messages" button (see top right of your image) and paste the text into a reply.
/Users/kong/Documents/Arduino/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: libraries/fire_detection_inferencing/edge-impulse-sdk/porting/espressif/objs.a(debug_log.cpp.o): in function `DebugLog(char const*)':
/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/espressif/debug_log.cpp:34: multiple definition of `DebugLog(char const*)'; libraries/fire_detection_inferencing/edge-impulse-sdk/porting/arduino/objs.a(debug_log.cpp.o):/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/arduino/debug_log.cpp:34: first defined here
/Users/kong/Documents/Arduino/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: libraries/fire_detection_inferencing/edge-impulse-sdk/porting/espressif/objs.a(ei_classifier_porting.cpp.o): in function `ei_read_timer_ms()':
/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/espressif/ei_classifier_porting.cpp:47: multiple definition of `ei_read_timer_ms()'; libraries/fire_detection_inferencing/edge-impulse-sdk/porting/arduino/objs.a(ei_classifier_porting.cpp.o):/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/arduino/ei_classifier_porting.cpp:41: first defined here
/Users/kong/Documents/Arduino/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: libraries/fire_detection_inferencing/edge-impulse-sdk/porting/espressif/objs.a(ei_classifier_porting.cpp.o): in function `ei_read_timer_us()':
/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/espressif/ei_classifier_porting.cpp:51: multiple definition of `ei_read_timer_us()'; libraries/fire_detection_inferencing/edge-impulse-sdk/porting/arduino/objs.a(ei_classifier_porting.cpp.o):/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/arduino/ei_classifier_porting.cpp:45: first defined here
/Users/kong/Documents/Arduino/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: libraries/fire_detection_inferencing/edge-impulse-sdk/porting/espressif/objs.a(ei_classifier_porting.cpp.o): in function `ei_putchar(char)':
/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/espressif/ei_classifier_porting.cpp:56: multiple definition of `ei_putchar(char)'; libraries/fire_detection_inferencing/edge-impulse-sdk/porting/arduino/objs.a(ei_classifier_porting.cpp.o):/Users/kong/Documents/Arduino/libraries/fire_detection_inferencing/src/edge-impulse-sdk/porting/arduino/ei_classifier_porting.cpp:55: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board AI Thinker ESP32-CAM.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
It looks like your build is including two copies of "objs.a" which contains the functions:
DebugLog(char const*)
ei_read_timer_ms()
ei_read_timer_us()
ei_putchar(char)
One is in:
libraries/
fire_detection_inferencing/
src/
edge-impulse-sdk/
porting/
espressif
and the other in:
libraries/
fire_detection_inferencing/
src/
edge-impulse-sdk/
porting/
arduino
I don't know why your build is using the same file from both directories. Perhaps deleting one of the two directories will work around the problem.
Thank you so much. I tried it and it ran successfully now. Idk why the lib form edge impulse concludes both files. btw it still run
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.