espressif / esp-dl

Espressif deep-learning library for AIoT applications
MIT License
539 stars 117 forks source link

While linking undefined reference to functions from dl_lib_matrix3d.h and dl_lib_matrix3dq.h #11

Closed rucebee closed 4 years ago

rucebee commented 4 years ago

For example:

/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld: //esp-who/components/esp-face/lib/libod.a(sparse_mn_5_q.c.obj):(.literal.sparse_mn_5_q_without_landmark+0x40c): undefined reference to `dl_matrix3dqq_mobilenet' Could you please suggest a solution?
XiaochaoGONG commented 4 years ago

In what situation did you meet that ? Please add more information, or is there a problem with the default esp-who example ?

rucebee commented 4 years ago

Thank you for prompt reply Yes, it's a problem with the default esp-who example (Should I open this issue at esp-who git repo?). When ESP-WHO Face Detection is enable in Camera Web Server config, it fails to build at linkage (otherwise it's ok). I guess libdl_lib.a misses something. BTW, I use esp-idf previously installed to my esp root dir (not the one attached to esp-who git) but without face detection all builds well

XiaochaoGONG commented 4 years ago

Hi, thanks for finding the bug, please update the esp-who with 27e8cde. It may solve your problem.

rucebee commented 4 years ago

steps.txt Did not helped, see my steps.txt attached

Did I make git update wrong?

XiaochaoGONG commented 4 years ago

call git submodule update

rucebee commented 4 years ago

thanks you for being supportive

the issue was that I used the latest extensa toolchain (which is installed with latest esp-idf) so to build successfully it is not enough to switch to esp-who/esp-idf but one also needs to switch to previous toolchain

I succeeded with https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz