This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: PSDKRA - Linking errors in build of vision_apps while testing new TIOVX user kernel

Part Number: TDA4VM
Other Parts Discussed in Thread: TI-CGT

Hello,

We are working with PSDK 6.1.

We have implemented a standalone vision app to test a new user kernel. The algorithm source code is written in C++. The relevant code structure is shown below.

vision_app_code_structure.zip

The vision app calls the use-case which in turn creates the graph to test our user kernel (msi_vfs).

Initially, we had algorithm source code with minimum functionality, and we were able to build the vision app and test it on TI TDA4 EVM.

Later, the algorithm source code was modified to include full functionality. We observed the following errors while building vision_apps after this modification:

...
[C6X] Compiling C main.c
Running xdc configuro for apps.basic_demos.app_tirtos.tirtos_linux.c66x_1
making package.mak (because of package.bld) ...
generating interfaces for package configuro (because package/package.xdc.inc is older than package.xdc) ...
configuring c66x_1.xe66 from package/cfg/c66x_1_pe66.cfg ...
# !!!  Clock TimerId [0] @ 0x2400000 and interrupt 14 and event ID 21 !!!
generating custom ti.sysbios library makefile ... 
Starting build of library sources ...
making /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/module/apps.basic_demos.app_tirtos.tirtos_linux.c66x_1/configuro/package/cfg/c66x_1_pe66.src/sysbios/sysbios.ae66 ...
cle66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/BIOS.c ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Exception_asm.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_asm.s62 ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_asm_switch.s62 ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_disp_always.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/timers/dmtimer/Timer_asm.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/rts/ti/tls_get_tp.asm ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c62/TaskSupport_asm.s62 ...
are66 BIOS.obj c64p_Exception_asm.obj c64p_Hwi_asm.obj c64p_Hwi_asm_switch.obj c64p_Hwi_disp_always.obj dmtimer_Timer_asm.obj ti_tls_get_tp.obj c62_TaskSupport_asm.obj ...
Build of libraries done.
cle66 package/cfg/c66x_1_pe66.c ...
Linking /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_1.out

 undefined                                             first referenced                                                                                                                                       
  symbol                                                   in file                                                                                                                                            
 ---------                                             ----------------                                                                                                                                       
 vfsMatSize::operator [](int)                          /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator [](int)                          /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _InputArray::~_InputArray()                           /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _OutputArray::_OutputArray(vfsMat &)                  /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::ptr(int)                                      /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::create(int, int, int)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(Size_<int>, int, void *, unsigned int) /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(vfsMat&&)                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(const vfsMat&)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(int, int, int)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat()                                      /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatSize::operator ()() const                       /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator unsigned int() const             /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator [](int) const                    /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _InputArray::getvfsMat(int) const                     /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::isSubmatrix() const                           /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::ptr(int) const                                /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::type() const                                  /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::depth() const                                 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::channels() const                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::elemSize() const                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>

error: unresolved symbols remain
error: errors encountered during linking;
   "/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_a
   pps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_1.out" not built
concerto/finale.mak:204: recipe for target '/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_1.out' failed
make: [/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_1.out] Error 1 (ignored)
Building vx_app_tirtos_linux_c6x_1.out as static library
[C6X] Compiling C main.c
Running xdc configuro for apps.basic_demos.app_tirtos.tirtos_linux.c66x_2
making package.mak (because of package.bld) ...
generating interfaces for package configuro (because package/package.xdc.inc is older than package.xdc) ...
configuring c66x_2.xe66 from package/cfg/c66x_2_pe66.cfg ...
# !!!  Clock TimerId [0] @ 0x2400000 and interrupt 14 and event ID 20 !!!
generating custom ti.sysbios library makefile ... 
Starting build of library sources ...
making /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/module/apps.basic_demos.app_tirtos.tirtos_linux.c66x_2/configuro/package/cfg/c66x_2_pe66.src/sysbios/sysbios.ae66 ...
cle66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/BIOS.c ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Exception_asm.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_asm.s62 ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_asm_switch.s62 ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c64p/Hwi_disp_always.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/timers/dmtimer/Timer_asm.s64P ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/rts/ti/tls_get_tp.asm ...
asme66 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/bios_6_76_03_01/packages/ti/sysbios/family/c62/TaskSupport_asm.s62 ...
are66 BIOS.obj c64p_Exception_asm.obj c64p_Hwi_asm.obj c64p_Hwi_asm_switch.obj c64p_Hwi_disp_always.obj dmtimer_Timer_asm.obj ti_tls_get_tp.obj c62_TaskSupport_asm.obj ...
Build of libraries done.
cle66 package/cfg/c66x_2_pe66.c ...
Linking /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_2.out

 undefined                                             first referenced                                                                                                                                       
  symbol                                                   in file                                                                                                                                            
 ---------                                             ----------------                                                                                                                                       
 vfsMatSize::operator [](int)                          /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator [](int)                          /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _InputArray::~_InputArray()                           /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _OutputArray::_OutputArray(vfsMat &)                  /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::ptr(int)                                      /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::create(int, int, int)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(Size_<int>, int, void *, unsigned int) /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(vfsMat&&)                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(const vfsMat&)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat(int, int, int)                         /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::vfsMat()                                      /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatSize::operator ()() const                       /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator unsigned int() const             /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMatStep::operator [](int) const                    /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 _InputArray::getvfsMat(int) const                     /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::isSubmatrix() const                           /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::ptr(int) const                                /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::type() const                                  /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::depth() const                                 /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::channels() const                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>
 vfsMat::elemSize() const                              /home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/tiovx/lib/J7/C66/SYSBIOS/release/vx_target_kernels_msi_vfs_c66.lib<FindContours.obj>

error: unresolved symbols remain
error: errors encountered during linking;
   "/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_a
   pps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_2.out" not built
concerto/finale.mak:204: recipe for target '/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_2.out' failed
make: [/home/sagar/TI_PSDK_AUTO_06_01_00_15/psdk_rtos_auto_j7_06_01_00_15/vision_apps/out/J7/C66/SYSBIOS/release/vx_app_tirtos_linux_c6x_2.out] Error 1 (ignored)
Building vx_app_tirtos_linux_c6x_2.out as static library
...

The undefined/unresolved symbols referred above are all accounted for in the algorithm source code and not included as external library component.

How can we resolve these errors?

Thank you.