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.

AM5726: DSP intermitted build errors for IPC program

Part Number: AM5726

Hi,

I'm working on a program on the DSP2 core of the AM572x that uses the IPC packages from TI. I based the project off of the IPC examples provided in the SDK. The build occasionally fails, even when nothing has changed in the files or projects and it seems to be related to an overlap in definitions in the ipc directory and the utils directory. It doesn't fail every time, which had me thinking that maybe having a multithreaded build was occasionally building in an incorrect order, but I disabled multithreaded builds and I'm still seeing the problem. 

Here is the build output I'm seeing:

Building target: "IOScannerDSP2.out"
Invoking: C6000 Linker
"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c6000_8.3.5/bin/cl6x" -mv6600 --define=am5728 --define=core2 --define=RTOS_BUILD --define=SOC_AM
572x --define=USE_BIOS --define=core1 --define=REMOTEPROC_IPC -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"IOScann
erDSP2.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c6000_8.3.5/lib" -i"C:/ti/ccs930/ccs/tools/co
mpiler/ti-cgt-c6000_8.3.5/include" --reread_libs --define=CORE2=2 --define=CORE1=1 --diag_wrap=off --display_error_number --warn_section
s --xml_link_info="IOScannerDSP2_linkInfo.xml" --rom_model -o "IOScannerDSP2.out" "./DcanConfig.obj" "./IOScanner.obj" "./IOScannerDSP2M
ain.obj" "./IoScanner_Console_Operations.obj" "./MainDsp1.obj" "./Server.obj" "../src/ipc/Ipc.obj" "../src/sysbios/BIOS.obj" "../src/sys
bios/c62_TaskSupport_asm.obj" "../src/sysbios/c64p_Exception_asm.obj" "../src/sysbios/c64p_Hwi_asm.obj" "../src/sysbios/c64p_Hwi_asm_swi
tch.obj" "../src/sysbios/c64p_Hwi_disp_always.obj" "../src/sysbios/dmtimer_Timer_asm.obj" "../src/sysbios/ti_tls_get_tp.obj" "../src/uti
ls/UTILS.obj" -l"configPkg/linker.cmd" -llibc.a
<Linking>
error #10056: symbol "ti_sdo_utils_NameServer_registerRemoteDriver__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in ".
./src/utils/UTILS.obj"
error #10056: symbol "NameServer_remove" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "MultiProc_getName" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "NameServer_match" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_MultiProc_dummy__F" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTIL
S.obj"
error #10056: symbol "ti_sdo_utils_NameServer_postInit__I" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/
UTILS.obj"
error #10056: symbol "NameServer_addUInt32" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServerRemoteNull_get__F" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/u
tils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_remove__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.ob
j"
error #10056: symbol "NameServer_add" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServer_Instance_init__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/u
tils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServer_unregisterRemoteDriver__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in
"../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_elemClear__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS
.obj"
error #10056: symbol "MultiProc_getNumProcessors" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj
"
error #10056: symbol "MultiProc_setLocalId" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "NameServer_create" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "MultiProc_getBaseIdOfCluster" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "ti_sdo_utils_List_putHead__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "ti_sdo_utils_NameServer_getKey__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UT
ILS.obj"
error #10056: symbol "MultiProc_getClusterProcList" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "NameServer_getLocal" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_insert__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.ob
j"
error #10056: symbol "NameServer_get" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_dequeue__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "ti_sdo_utils_List_Instance_init__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/U
TILS.obj"
error #10056: symbol "NameServer_getUInt32" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServerRemoteNull_sharedMemReq__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in
"../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_enqueue__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "ti_sdo_utils_NameServerRemoteNull_Instance_init__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in
 "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServer_removeLocal__I" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/uti
ls/UTILS.obj"
error #10056: symbol "NameServer_delete" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServerRemoteNull_attach__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../sr
c/utils/UTILS.obj"
error #10056: symbol "MultiProc_getNumProcsInCluster" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS
.obj"
error #10056: symbol "ti_sdo_utils_List_put__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_next__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"

error #10056: symbol "NameServer_getHandle" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_get__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServerRemoteNull_detach__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../sr
c/utils/UTILS.obj"
error #10056: symbol "MultiProc_getId" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServer_Instance_finalize__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../s
rc/utils/UTILS.obj"
error #10056: symbol "MultiProc_setBaseIdOfCluster" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.o
bj"
error #10056: symbol "ti_sdo_utils_NameServer_Module_startup__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/
utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_enqueueHead__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTI
LS.obj"
error #10056: symbol "ti_sdo_utils_List_empty__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj
"
error #10056: symbol "NameServer_getLocalUInt32" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"

error #10056: symbol "MultiProc_self" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "NameServer_Params_init" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "NameServer_removeEntry" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"
error #10056: symbol "ti_sdo_utils_MultiProc_getClusterId__F" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/uti
ls/UTILS.obj"
error #10056: symbol "ti_sdo_utils_List_prev__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils/UTILS.obj"

error #10056: symbol "ti_sdo_utils_NameServer_findLocal__I" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/utils
/UTILS.obj"
error #10056: symbol "ti_sdo_utils_NameServer_isRegistered__E" redefined: first defined in "../src/ipc/Ipc.obj"; redefined in "../src/ut
ils/UTILS.obj"
error #10010: errors encountered during linking; "IOScannerDSP2.out" not built

>> Compilation failure
makefile:160: recipe for target 'IOScannerDSP2.out' failed
gmake: *** [IOScannerDSP2.out] Error 1
gmake: Target 'all' not remade because of errors.

**** Build Finished ****

Any help would be appreciated!

-Jon