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.

Codec Server Compile Error: Unresolved symbols

Hello,

I have created a shell codec successfully called "insight". Next I created a new server via the server wizard that consists of "insight", H264DEC, H264ENC and MPEG4. When I attempt to make the server I get errors complaining about unresolved symbols for the H264 items and HDVICP items. I thought the wizard should take care of ensuring all libraries are available for linking. I'm not sure what libraries have not got included. Can anyone help me here? Output is below:

MAKEFILE OUTPUT:

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

bbergan@bbergan-laptop:~/projects/Insight/cstest/adsys/insight/servers/insight_alg$ make clean
"/home/bbergan/dvsdk/dvsdk_3_10_00_19/xdctools_3_16_01_27/xdc" XDCOPTIONS= clean
bbergan@bbergan-laptop:~/projects/Insight/cstest/adsys/insight/servers/insight_alg$ make
"/home/bbergan/dvsdk/dvsdk_3_10_00_19/xdctools_3_16_01_27/xdc" XDCOPTIONS= XDCARGS="CODEGEN_INSTALL_DIR=\"/home/bbergan/dvsdk/dvsdk_3_10_00_19/cgt6x_7_0_3\"" --xdcpath="/home/bbergan/dvsdk/dvsdk_3_10_00_19/xdctools_3_16_01_27/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/codec_engine_2_25_05_16/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/bios_5_41_00_06/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/dsplink_linux_1_64;/home/bbergan/dvsdk/dvsdk_3_10_00_19/xdais_6_25_02_11/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/framework_components_2_25_02_06/packages;/home/bbergan/projects/Insight/cetest;/home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10;/home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/edma3_lld_01_11_00_03/packages;/home/bbergan/dvsdk/dvsdk_3_10_00_19/biosutils_1_02_02/packages" release
making package.mak (because of package.bld) ...
building for target C64P ...
generating interfaces for package adsys.insight.servers.insight_alg (because package/package.xdc.inc is older than package.xdc) ...
configuring bin/insight_alg.x64P from package/cfg/bin/insight_alg_x64P.cfg ...
platform   = ti.platforms.evmDM6467

NOTE: You can find the complete server data sheet in ./package/info/bin/insight_alg.x64P.DataSheet.html
-------------------------------------------------------------------------------------------------------

Auto register ti.sdo.fc.ires.edma3chan.EDMA3CHAN
Auto register ti.sdo.fc.ires.hdvicp.HDVICP
    will link with ti.sdo.ce.video1:lib/release/viddec1.a64P;lib/release/videnc1.a64P
    will link with ti.sdo.ce.video2:lib/release/viddec2.a64P
    will link with adsys.insight:lib/release/insight.a64P
    will link with ti.sdo.ce.universal:lib/release/universal.a64P
    will link with ti.sdo.ce.bioslog:lib/release/bioslog.a64P
    will link with ti.sdo.ce:lib/release/ce.a64P
    will link with ti.sdo.ce.alg:lib/release/Algorithm_BIOS.a64P
    will link with ti.sdo.ce.ipc.bios:lib/release/ipc_bios.a64P
    will link with ti.sdo.ce.osal.bios:lib/osal_bios.a64P
    will link with ti.sdo.ce.osal.bios:lib/osal_bios_load.a64P
    will link with ti.bios.utils:lib/utils.a64P
    will link with ti.sdo.fc.acpy3:lib/release/acpy3.a64P
    will link with ti.sdo.fc.memutils:lib/release/memutils.a64P
    will link with ti.sdo.fc.dman3:lib/release/dman3Cfg.a64P
    will link with ti.sdo.ce.utils.xdm:lib/release/XdmUtils.a64P
    will link with ti.sdo.ce.node:lib/release/node.a64P
    will link with ti.sdo.fc.ires.edma3chan:lib/release/edma3Chan.a64P
    will link with ti.sdo.fc.edma3:lib/release/edma3.a64P
    will link with ti.sdo.fc.rman:lib/release/rman.a64P
    will link with ti.sdo.fc.dskt2:lib/release/dskt2.a64P
    will link with ti.sdo.utils.trace:lib/release/gt.a64P
    will link with ti.sdo.fc.ires.nullresource:lib/release/nullres.a64P
Inside EDMA3 RM getLibs
    will link with ti.sdo.edma3.rm:lib/dm6467/Release/edma3_rm_bios.lib
    will link with ti.sdo.fc.hdintc:lib/release/hdintc_fc.a64P
    will link with ti.sdo.fc.ires.hdvicp:lib/release/hdvicp.a64P
    will link with ti.sdo.codecs.mpeg4enc:lib/mpeg4venc_dm6467_c64xDSP.lib;lib/csl_sysservicesdavinci.lib
    will link with ti.sdo.codecs.h264enc:lib/h264venc_tii.l64P
    will link with ti.sdo.codecs.h264dec:lib/h264vdec_tii.l64P
cl64P package/cfg/bin/insight_alg_x64Pcfg_c.c ...
cl64P main.c ...
asm64P package/cfg/bin/insight_alg_x64Pcfg.s62 ...
cl64P package/cfg/bin/insight_alg_x64P.c ...
lnk64P bin/insight_alg.x64P ...
"package/cfg/bin/insight_alg_x64P.xdl", line 105: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 106: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 107: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 130: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 134: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 135: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 136: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 143: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 145: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 147: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 148: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 149: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 150: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 151: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 152: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 202: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 216: warning: no matching section
"package/cfg/bin/insight_alg_x64P.xdl", line 248: warning: no matching section

 undefined                      first referenced                                                                                                                
  symbol                            in file                                                                                                                     
 ---------                      ----------------                                                                                                                
 _H264Dec_ECDnonavaildata       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _H264Dec_bs_command_buf        /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _H264Dec_calc_func_params      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _H264Dec_calc_func_params_HP   /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _H264Dec_lpf_command_buf       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _H264EncCalcInitSclQiqCmds     /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _H264EncCalcMbAddressSet       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _H264EncECDnonavaildata        /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _H264EncHeaderPack_ECD         /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _H264VENC_TI_Ipe_Initqp        /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _HDVICP_TI_BFSW_SetViewMode    /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _HDVICP_TI_BFSW_SwitchBuffers  /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _Hdvicp_TI_BsInitH264Dec       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _Hdvicp_TI_CalcDynamicH264Dec  /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _Hdvicp_TI_CalcInitH264Dec     /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _Hdvicp_TI_EcdInitH264Dec      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _Hdvicp_TI_LpfInitH264Dec      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _QP_SCALE_CR                   /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _Quant_matrix_4x4              /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _Quant_matrix_8x8              /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _cabac_contexts                /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264dec/lib/h264vdec_tii.l64P<h264vdec_tii.o64P>
 _hdvicp_TI_BsInitH264Enc       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_CalcDynamicH264Enc  /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_CalcInitH264Enc     /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_EcdDynamicH264Enc   /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_EcdInitH264Enc      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_IpeDynamicH264Enc   /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_IpeGetOutputH264Enc /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_IpeInitH264Enc      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_LpfInitH264Enc      /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_McInitH264Enc       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_MeGetOutputH264Enc  /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _hdvicp_TI_MeInitH264Enc       /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _qp_mod6_tab_enc               /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 
 _uiInitialCostI4x4             /home/bbergan/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10/packages/ti/sdo/codecs/h264enc/lib/h264venc_tii.l64P<H264Encoder.obj> 

error: unresolved symbols remain
error: errors encountered during linking; "bin/insight_alg.x64P" not built
gmake: *** [bin/insight_alg.x64P] Error 1
make: *** [all] Error 2

  • I believe I have solved my own issue based on another persons post to a similar problem.  I added the following line to my server.cfg file and it worked:

    var HDVICP = xdc.useModule('ti.sdo.codecs.hdvicp.HDVICP');

    I don't know why the genserver wizard left this out, but it did. My server project compiled after adding this line.

     

     

  • Glad to see you were able to resolve this issue, and thanks for posting your solution for others.

    For what little it's worth, GenServer only knows about the codec pkgs you're integrating, not _their_ dependencies.  That is, in the wizard (and the generated cfg script) you specify what codecs you want in the server, but you don't (and shouldn't have to!) know what dependencies each codec has.

    In this case, only the codec knows it has a dependency on the 'ti.sdo.codecs.hdvicp.HDVICP' module.  (And the next implementation of the codec may _not_ have this dependency... or may have _new_ dependencies!)  So, IMNSHO, each codec package should be declaring its dependencies.  Typically, this is done [by the codec producer] by adding the xdc.useModule('ti.sdo.codecs.hdvicp.HDVICP'); statement to the codec package's close() method (in their package.xs file).

    This establishes the appropriate dependency, and adds the right libraries into the link step, but also insulates users of the codec (like the server integrator) from knowing about the codec-internal dependencies.  Further, the codec is free to modify it's behavior - adding/removing other dependencies - without impacting scripts consuming it.

    [ I realize this is probably a TI codec, and it's strange that TI sometimes struggles to listen to itself.  TI is ONE big family, but I hope you can also appreciate that TI is one BIG family.  ;) ]

    Chris