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.

link error when using c6run and the EDMA3 LLD driver

Other Parts Discussed in Thread: OMAPL138

It seems that "libc6rundsp.a" and "edma3_drv_bios.lib" both define several exit functions(edma3_drv_bios.lib does so by including rts6740), Is there a known work around for this?

using the c6run ar, I get the following errors when I include edma3_drv_bios.lib

 

 

-------------- Build: Debug in DspInterface ---------------

 

Using makefile: Makefile

error: symbol "__dtors_ptr" redefined: first defined in

   "/home/lab/ti-dvsdk/c6run/bin/../lib/c6run_dsp/libc6rundsp.a<C6Run_exit.obj>

   "; redefined in

   "/home/lab/ti-dvsdk_omapl138-evm_4_02_00_06/cgt6x_6_1_14/lib/rts6740.lib<exi

   t.obj>"

error: symbol "___TI_enable_exit_profile_output" redefined: first defined in

   "/home/lab/ti-dvsdk/c6run/bin/../lib/c6run_dsp/libc6rundsp.a<C6Run_exit.obj>

   "; redefined in

   "/home/lab/ti-dvsdk_omapl138-evm_4_02_00_06/cgt6x_6_1_14/lib/rts6740.lib<exi

   t.obj>"

error: symbol "_exit" redefined: first defined in

   "/home/lab/ti-dvsdk/c6run/bin/../lib/c6run_dsp/libc6rundsp.a<C6Run_exit.obj>

   "; redefined in

   "/home/lab/ti-dvsdk_omapl138-evm_4_02_00_06/cgt6x_6_1_14/lib/rts6740.lib<exi

   t.obj>"

error: symbol "__cleanup_ptr" redefined: first defined in

   "/home/lab/ti-dvsdk/c6run/bin/../lib/c6run_dsp/libc6rundsp.a<C6Run_exit.obj>

   "; redefined in

   "/home/lab/ti-dvsdk_omapl138-evm_4_02_00_06/cgt6x_6_1_14/lib/rts6740.lib<exi

   t.obj>"

 

 

  • Can you provide more details on your build steps and what version of the C6Run tools you are using?  Ideally the symbols from the libc6rundsp.a library should be used as the priority, but the build system should make sure that happens.

    Regards, Daniel

  •  

    C6Run Project Changelog

    -----------------------

    v0.95.02.02 - 29-Dec-2010

     

    As for build steps, all of our dsp only code is built with cl6x to object files, the dsp interface code is built with c6runlib-cc script, c6runlib-ar is used to link all the dsp only, interface dsp, and library files. In addition to edma3_drv_bios.lib,  we are linking in  edma3_rm_bios.lib, omapl138/Debug/edma3_drv_bios_sample.lib dsp64x.lib, IQmath_c64x+.lib, IQmath_RAM_c64x+.lib.

    edma3_drv_bios.lib was the first problem I had linking in a library from TI.

     

  • I'm past my build issue. I had to rebuild all the EDMA3 from source after removing all references to assert() and "assert.h". Not sure my this causes a problem with c6run, but i dont really need the asserts in there anyway.

     

    Thanks for your time

  • I don't quite understand the assert use causing the build issue, but I appreciate the feedback.

    Regards, Daniel