Upcoming maintenance
Dear Customers and Partners.
This website will be undergoing scheduled maintenance on June 14, 2023. Please be aware there may be disruption to the developer portal website and associated services during the scheduled maintenance period.
This upgrade is essential to ensure the continued performance, reliability, and security of Developer World.
We apologize for any inconvenience.
Unsolved Error during build: undefined reference to "mpmq_xxx"
-
$ source ~/spresenseenv/setup $ cd spresense/sdk $ tools/config.py examples/dnnrt_lenet $ make
I tried to build "dnnrt_lenet" in examples through MSYS2 MSYS but encountered the errors as shown below.
LD: nuttx D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_send_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:108: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:125: undefined reference to `mpmq_receive' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_post_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_send_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:125: undefined reference to `mpmq_receive' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_post_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_send_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:108: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:121: undefined reference to `mpmq_timedreceive' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_post_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_unload': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:305: undefined reference to `mpmq_destroy' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:310: undefined reference to `mptask_destroy' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_start_task': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:198: undefined reference to `mptask_init_secure' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:204: undefined reference to `mptask_assign_cpus' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:210: undefined reference to `mptask_getcpuidset' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:230: undefined reference to `mptask_exec' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_send_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:108: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:125: undefined reference to `mpmq_receive' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_post_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_send_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:125: undefined reference to `mpmq_receive' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_start_task': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:222: undefined reference to `mpmq_init' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:222: undefined reference to `mpmq_init' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:222: undefined reference to `mpmq_init' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:222: undefined reference to `mpmq_init' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:222: undefined reference to `mpmq_init' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o):D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c :222: more undefined references to `mpmq_init' follow D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:/msys64/home/15854/spresense/nuttx/../sdk/modules\libmodules.a(mp_manag er.d.msys64.home.15854.spresense.sdk.modules.dnnrt.o): in function `dnn_mpmgr_post_msg': D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manager.c:66: undefined reference to `mpmq_send' D:\msys64\opt\spresenseenv\usr\bin\arm-none-eabi-ld.exe: D:\msys64\home\15854\spresense\sdk\modules\dnnrt/src-mp/runtime/mp_manage r.c:66: undefined reference to `mpmq_send' make[2]: *** [Makefile:159: nuttx] Error 1 make[2]: Leaving directory '/home/15854/spresense/nuttx/arch/arm/src' make[1]: *** [tools/Unix.mk:509: nuttx] Error 2 make[1]: Leaving directory '/home/15854/spresense/nuttx' make: *** [Makefile:117: all] Error 2
I wonder why the errors happened and how to solve the problem. Thanks!
-
Hi, @pgq18-2
I'm trying to build this example on my side and I'm having issues too.
Different one though hahaI'll continue investigating and let you know when I find the solution.
On the mean time, please check that you have the newest version of the SDK (it has been recently updated). Also, if it's been a long time since your spresenseenv has been configured, try to delete that folder and do the setup again.
-
Thanks, @CamilaSouza
I have no idea what happened, but the problem had been solves after I reinstalled the SDK. Perhaps there was something wrong with the version and configuration. -
I'm so glad to hear!