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.

CCS won't build/link. Unresolved Symbols

I'm trying to build a project, and i get these errors. If I change the build properties for the out file to be a ".obj" file instead, all errors go away (but of course I cannot run the test on the EVM). Any ideas?

<Linking>
error: symbol "_gvPaL3Handles" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvCppiHandle" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_paInst" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaL4Handles" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaMacFailQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvTxQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaIPFailQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaL2Handles" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvDescQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_corePTable" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvFlowHnd" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_masterSetup1" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_masterSetup2" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memL3Ram" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_pushTxPackets" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_cppi_malloc_mem" redefined: first defined in
   "./src/memory.obj"; redefined in "./memory.obj"
error: symbol "_pktTxRxNotDone" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memL2Ram" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memSrcPackets1" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvRxPktQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memSrcPackets0" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvRxBufQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaCmdSrcQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPAIPFRAGRQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaTxRecycleQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_paInstBuf" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvPaCmdDstQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvRxChHnd" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_udpPayloadPTable" redefined: first defined in
   "./src/memory.obj"; redefined in "./memory.obj"
error: symbol "_gvPAIPFRAGQ" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memCmdPackets" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memLinkRam" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvTxChHnd" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_memDescRam" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvCmdFlowHnd" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_gvCpswFlowHnd" redefined: first defined in "./src/memory.obj";
   redefined in "./memory.obj"
error: symbol "_qmss_malloc_mem" redefined: first defined in
   "./src/memory.obj"; redefined in "./memory.obj"

 undefined first referenced         
  symbol       in file              
 --------- ----------------         
 _main     ./common_src/test_main.obj

error: unresolved symbols remain
error: errors encountered during linking; "C:/Documents and
   Settings/a0273350/My Documents/PA_TPUT/Project
   Data/vnpaef0000/avpaes0014-vnpaef0000.out" not built

>> Compilation failure
C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: *** [C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/vnpaef0000/avpaes0014-vnpaef0000.out] Error 1
C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.
Build complete for project Pa_Tput


Any advice is welcomed!

  • Does the file memory.obj exist in 2 locations within the project folder? By default the CCS build process creates the .obj files within the configuration folder (\Debug or \Release) if the source file is in the main project folder. If the source file is in a sub-folder such as \src, then the object file will be created in \Debug\src. If there is another copy of the .obj file in any other folder within the project, these "symbol redefined" errors would occur.

    For the undefined symbol main error, it seems that there is no source file that contains a definition for main(). Can you confirm if this is the case?

  • I figured out the memory being doubly used recently (Thanks). That solved a good chunk of the errors. I do have main defined.

  • So are all the errors resolved now?

  • Sadly, no. I was building at first and having undefined identifiers. I fiddled around with it, built it again. But, I get the same (or I should say the original) main error (even though I have gotten rid of the duplicate memory.c).  Here is some of the error code: 

    'Finished building: C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/common_src/pktgen.c'
    ' '
    'Building target: C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/vnpaef0000/avpaes0014-vnpaef0000.out'
    'Invoking: Linker'
    "C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.12/bin/cl6x" -@"ccsLinker.opt" -o "C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/vnpaef0000/avpaes0014-vnpaef0000.out"
    <Linking>

     undefined first referenced                                                                                     
      symbol       in file                                                                                          
     --------- ----------------                                                                                     
     _main     C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.12/lib/rts64plus.lib<args_main.obj>

    error: unresolved symbols remain
    error: errors encountered during linking; "C:/Documents and
       Settings/a0273350/My Documents/PA_TPUT/Project
       Data/vnpaef0000/avpaes0014-vnpaef0000.out" not built

    >> Compilation failure
    C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: *** [C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/vnpaef0000/avpaes0014-vnpaef0000.out] Error 1
    C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.
    Build complete for project Pa_Tput

     

     

    Thanks.

  • Scratch that last one, here are the right errors: What's strange is that I have pa_utils included and not excluded in the workspace. 


     undefined      first referenced 
      symbol            in file      
     ---------      ---------------- 
     _crypto_mdctl  ./src/pa_utils.obj
     _crypto_pdctl  ./src/pa_utils.obj
     _enable_module ./src/pa_utils.obj
     _pass_mdctl    ./src/pa_utils.obj
     _pass_pdctl    ./src/pa_utils.obj
     _resRprt       ./src/paTest.obj 
     _sgmii_mdctl   ./src/pa_utils.obj
     _sgmii_pdctl   ./src/pa_utils.obj

    error: unresolved symbols remain
    error: errors encountered during linking; "C:/Documents and
       Settings/a0273350/My Documents/PA_TPUT/Project
       Data/vnpaef0000/avpaes0014-vnpaef0000.out" not built

    >> Compilation failure
    C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: *** [C:/Documents and Settings/a0273350/My Documents/PA_TPUT/Project Data/vnpaef0000/avpaes0014-vnpaef0000.out] Error 1
    C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.

  • What is missing are the files and/or libraries where the listed symbols are defined. The message is saying that pa_utils references these symbols but a definition for them could not be found. If these symbols are defined in a source file, make sure those source files are included in the project. Sometimes they are defined in libraries, in which case you need to make sure that the library has been added to the project.