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.

Linux/TDA2: TDA2 - 'Undefined reference Error'

Part Number: TDA2


Tool/software: Linux

Hi,

I am working with VisionSDK 3.1.

I am trying to add a new usecase in vision_sdk/apps/src/hlos/adas/src/usecases. The main function that I have used is Void chains_lvdsVipMultiCam_opencvcanny_SgxDisplay(Chains_Ctrl *chainsCfg) which is defined in the corresponding usecase .c file. This function was called in vision_sdk/apps/src/hlos/adas/src/common/chains_main.c which includes a header #include <src/hlos/adas/include/chains.h>. The function was declared in the above mentioned header.

While compiling I am getting the following error.

# apps: tda2xx-evm: Creating archive apps.a
# apps: tda2xx-evm: Linking
/home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/apps.a(chains_main.o): In function `main':
chains_main.c:(.text.startup+0x1ee): undefined reference to `chains_lvdsVipMultiCam_opencvcanny_SgxDisplay'
/home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/links_a15_algorithm.a(algorithmLink_cfg.o): In function `AlgorithmLink_initAlgPlugins':
algorithmLink_cfg.c:(.text+0x18): undefined reference to `AlgorithmLink_OpenCVCanny_initPlugin'
collect2: error: ld returned 1 exit status
make[6]: *** [exe] Error 1
make[5]: *** [demo] Error 2
make[4]: *** [apps] Error 2
make[3]: *** [apps_exe_hlos] Error 2
make[2]: *** [apps_hlos] Error 2
make[1]: *** [apps] Error 2
make: *** [vision_sdk] Error 2

How can I solve this.

 

  • Hi Blessy,
    Better to use tda2xx_evm_linux_opencx config while building OpenCV applications
    Ensure your new use-case added to uc_cfg.mk file & to LINUX_TDA2XX_UC_LIST under vision_sdk\apps\configs\cfg.mk file

    Regards
    Surya
  • Hi Surya,

    I tried compiling with tda2xx_evm_linux_opencx. I am still facing the same issue. Infact the number of errors increased. Usecase is defined in cfg.mk and uc_cfg.mk

    # apps: tda2xx-evm: Linking
    /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/a15_0/release/apps.a(chains_main.o): In function `main':
    chains_main.c:(.text.startup+0x1b6): undefined reference to `chains_lvdsVipMultiCam_opencvcanny_SgxDisplay'
    chains_main.c:(.text.startup+0x1fa): undefined reference to `chains_vipSingleCamOpenCVOpenCLDilationSgxDisplay'
    /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/a15_0/release/links_a15_algorithm.a(algorithmLink_cfg.o): In function `AlgorithmLink_initAlgPlugins':
    algorithmLink_cfg.c:(.text+0x14): undefined reference to `AlgorithmLink_FrameCopy_initPlugin'
    algorithmLink_cfg.c:(.text+0x18): undefined reference to `AlgorithmLink_OpenCVCanny_initPlugin'
    algorithmLink_cfg.c:(.text+0x1c): undefined reference to `AlgorithmLink_OpenCVOpenCLDilation_initPlugin'

  • Hi Blessy,
    You need to add "chains_lvdsVipMultiCam_opencvcanny_SgxDisplay" to MAKEFILE_adas.MK file under vision_sdk/apps/src/hlos
    All algorthim link init plugins are under #ifdef in algorithmLink_cfg.c file
    Could you share your cfg.mk file in use-case folder (need to check which all ALG enabled) ?

    Regards
    Surya
  • Hi Surya,

    The new use-case i have added is "lvds_vip_multi_cam_opencvcanny_sgx_display". I have included this use-case in MAKEFILE_adas.MK as

    ifeq ($(UC_lvds_vip_multi_cam_opencvcanny_sgx_display),yes)

           $(MAKE) -fMAKEFILE.MK -C$($(MAKEAPPNAME)_PATH)/src/hlos/adas/src/usecases/lvds_vip_multi_cam_opencvcanny_sgx_display MODNAME=$(MAKEAPPNAME) CORE=a15_0 $(TARGET)

    endif

    I am not able to attach the cfg. mk file. Below are the contents of cfg.mk

    ALG_dmaSwMs=yes
    ALG_opencvcanny=yes
    NEED_PROC_IPU1_0=yes
    NEED_PROC_A15_0=yes

  • Hi,

    1st make sure your build system is not broken.
    Try a clean build without adding the new usecase.

    I hope after changing any cfg file you are doing a clean build.
    Please share the output of make showconfig.

    Regards,
    Anuj
  • Hi,

    Is the issue resolved?
    If yes, then please close the thread as there is no activity since a long time.

    Regards,
    Anuj