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.

Error in linking DSP package

Other Parts Discussed in Thread: MSP430WARE

Hello,

                               Am building a project in TMS320C6670 DSP processor.I had requirement of evaluating the DFT of larger sequences.So, i make use of dsplib package supported by the CCS. So, i copied my project to the examples folder of dsplib package and linked the project using the link file present in examples folder.While building the project,it is producing some errors. Probably these errors are due to conflicts in  linking the project. I  gone through the forum,but i couldn't find apt solution for my case.      

Here is the build log from the console:
**** Build of configuration Debug for project fin_txr ****
"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all 
'Building file: ../dsplib_fft_ifft.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_25_03_72/xs" --xdcpath="C:/ti/dsplib_c66x_3_1_0_0/packages;C:/ti/grace_2_20_01_12/packages;C:/ti/ccsv5/ccs_base/msp430/msp430ware_1_40_01_44/packages;C:/ti/bios_6_35_04_50/packages;C:/ti/uia_1_03_01_08/packages;C:/ti/xdais_7_21_01_07/packages;C:/ti/xdais_7_21_01_07/examples;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66_big_endian -p ti.platforms.evm6678 -r debug -c "C:/ti/ccsv5/tools/compiler/c6000_7.4.4" "../dsplib_fft_ifft.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring dsplib_fft_ifft.xe66e from package/cfg/dsplib_fft_ifft_pe66e.cfg ...
cle66e package/cfg/dsplib_fft_ifft_pe66e.c ...
'Finished building: ../dsplib_fft_ifft.cfg'
' '
'Building file: ../FDD_resouce_lut.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="FDD_resouce_lut.pp" --cmd_file="./configPkg/compiler.opt"  "../FDD_resouce_lut.c"
'Finished building: ../FDD_resouce_lut.c'
' '
'Building file: ../TDD_resource_lut.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="TDD_resource_lut.pp" --cmd_file="./configPkg/compiler.opt"  "../TDD_resource_lut.c"
'Finished building: ../TDD_resource_lut.c'
' '
'Building file: ../UL_DL_COFIG_lut.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="UL_DL_COFIG_lut.pp" --cmd_file="./configPkg/compiler.opt"  "../UL_DL_COFIG_lut.c"
"../UL_DL_COFIG_lut.c", line 1: warning #97-D: a translation unit must contain at least one declaration
'Finished building: ../UL_DL_COFIG_lut.c'
' '
'Building file: ../gen_twiddle_ifft16x16.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="gen_twiddle_ifft16x16.pp" --cmd_file="./configPkg/compiler.opt"  "../gen_twiddle_ifft16x16.c"
'Finished building: ../gen_twiddle_ifft16x16.c'
' '
'Building file: ../main.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt"  "../main.c"
"../main.c", line 55: warning #552-D: variable "diff" was set but never used
'Finished building: ../main.c'
' '
'Building file: ../prachPreamble.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="prachPreamble.pp" --cmd_file="./configPkg/compiler.opt"  "../prachPreamble.c"
"..\ifftfix.h", line 154: warning #179-D: variable "i" was declared but never referenced
"../prachPreamble.c", line 48: warning #552-D: variable "x" was set but never used
"../prachPreamble.c", line 78: warning #552-D: variable "start2" was set but never used
"../prachPreamble.c", line 78: warning #179-D: variable "stop2" was declared but never referenced
"../prachPreamble.c", line 78: warning #179-D: variable "diff2" was declared but never referenced
"../prachPreamble.c", line 115: warning #179-D: variable "cyclicShiftOffset" was declared but never referenced
"../prachPreamble.c", line 119: warning #552-D: variable "samplingFreq" was set but never used
"../prachPreamble.c", line 121: warning #552-D: variable "preamble_sf_stIndex" was set but never used
"../prachPreamble.c", line 199: warning #552-D: variable "preambleSeq" was set but never used
'Finished building: ../prachPreamble.c'
' '
'Building file: ../preambleRoot_lut.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="preambleRoot_lut.pp" --cmd_file="./configPkg/compiler.opt"  "../preambleRoot_lut.c"
"../preambleRoot_lut.c", line 1: warning #97-D: a translation unit must contain at least one declaration
'Finished building: ../preambleRoot_lut.c'
' '
'Building target: fin_txr.out'
'Invoking: C6000 Linker'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --display_error_number --diag_warning=225 --diag_wrap=off -z --stack_size=50000000 -m"fin_txr.map" --heap_size=50000000 -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib" -i"C:/ti/dsplib_c66x_3_1_0_0/packages/ti/dsplib/src/DSP_ifft16x16" -i"C:/ti/dsplib_c66x_3_1_0_0/packages" -i"C:/ti/dsplib_c66x_3_1_0_0/packages/ti/dsplib/src" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="fin_txr_linkInfo.xml" --rom_model -o "fin_txr.out" -l"./configPkg/linker.cmd"  "./preambleRoot_lut.obj" "./prachPreamble.obj" "./main.obj" "./gen_twiddle_ifft16x16.obj" "./UL_DL_COFIG_lut.obj" "./TDD_resource_lut.obj" "./FDD_resouce_lut.obj" "C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd" -l"libc.a" 
<Linking>
"C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd", line 44: error #10263: L2SRAM
   memory range has already been specified
"C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd", line 44: error #10264: L2SRAM
   memory range overlaps existing memory range L2SRAM
>> Compilation failure
"C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd", line 45: error #10263: MSMCSRAM
   memory range has already been specified
"C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd", line 45: error #10264: MSMCSRAM
   memory range overlaps existing memory range MSMCSRAM
warning #10373-D: library "../../../lib/dsplib.a66" contains TI-COFF object files which are incompatible with the ELF output file.  Ensure you are using the proper library.
warning #10373-D: library "../../../lib/dsplib.a66" contains TI-COFF object files which are incompatible with the ELF output file.  Ensure you are using the proper library.
"C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd", line 65: warning #10190-D: absolute symbol "_argsize" being redefined
 undefined     first referenced   
  symbol           in file        
 ---------     ----------------   
 DSP_ifft16x16 ./prachPreamble.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "fin_txr.out" not built
gmake: *** [fin_txr.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
And am also attaching the corresponding  linker file and the problems that i had encountered while building the project.
Regards,
G Murali Krishna
  • The invocation of the linker uses two different linker command files.  Inspect the command carefully.  You can see ...

    -l"./configPkg/linker.cmd"

    and ...

    "C:/ti/dsplib_c66x_3_1_0_0/examples/lnk.cmd"

    One of them needs to be removed.  Probably the second one, though I'm not certain of that.

    Thanks and regards,

    -George

  • Thank you for your precious acknowledgement. But if i remove lnk.cmd file, some errors are persisting. Am here by attaching the corresponding build log and the errors encountered while building.


    **** Clean-only build of configuration Debug for project fin_txr ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k clean
    DEL /F "configPkg\linker.cmd" "configPkg\compiler.opt" "fin_txr.out"
    The system cannot find the file specified.
    gmake: [clean] Error 1 (ignored)
    RMDIR /S/Q "configPkg\"
    The system cannot find the file specified.
    gmake: [clean] Error 2 (ignored)
    DEL /F "FDD_resouce_lut.pp" "TDD_resource_lut.pp" "UL_DL_COFIG_lut.pp" "gen_twiddle_ifft16x16.pp" "main.pp" "prachPreamble.pp" "preambleRoot_lut.pp"
    Could Not Find C:\ti\dsplib_c66x_3_1_0_0\examples\Prach_txr\Debug\FDD_resouce_lut.pp
    DEL /F "FDD_resouce_lut.obj" "TDD_resource_lut.obj" "UL_DL_COFIG_lut.obj" "gen_twiddle_ifft16x16.obj" "main.obj" "prachPreamble.obj" "preambleRoot_lut.obj"
    Could Not Find C:\ti\dsplib_c66x_3_1_0_0\examples\Prach_txr\Debug\FDD_resouce_lut.obj
    'Finished clean'
    ' '

    **** Build Finished ****

    **** Build of configuration Debug for project fin_txr ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../dsplib_fft_ifft.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_25_03_72/xs" --xdcpath="C:/ti/dsplib_c66x_3_1_0_0/packages;C:/ti/grace_2_20_01_12/packages;C:/ti/ccsv5/ccs_base/msp430/msp430ware_1_40_01_44/packages;C:/ti/bios_6_35_04_50/packages;C:/ti/uia_1_03_01_08/packages;C:/ti/xdais_7_21_01_07/packages;C:/ti/xdais_7_21_01_07/examples;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66_big_endian -p ti.platforms.evm6678 -r debug -c "C:/ti/ccsv5/tools/compiler/c6000_7.4.4" "../dsplib_fft_ifft.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring dsplib_fft_ifft.xe66e from package/cfg/dsplib_fft_ifft_pe66e.cfg ...
    cle66e package/cfg/dsplib_fft_ifft_pe66e.c ...
    'Finished building: ../dsplib_fft_ifft.cfg'
    ' '
    'Building file: ../FDD_resouce_lut.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="FDD_resouce_lut.pp" --cmd_file="./configPkg/compiler.opt" "../FDD_resouce_lut.c"
    'Finished building: ../FDD_resouce_lut.c'
    ' '
    'Building file: ../TDD_resource_lut.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="TDD_resource_lut.pp" --cmd_file="./configPkg/compiler.opt" "../TDD_resource_lut.c"
    'Finished building: ../TDD_resource_lut.c'
    ' '
    'Building file: ../UL_DL_COFIG_lut.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="UL_DL_COFIG_lut.pp" --cmd_file="./configPkg/compiler.opt" "../UL_DL_COFIG_lut.c"
    "../UL_DL_COFIG_lut.c", line 1: warning #97-D: a translation unit must contain at least one declaration
    'Finished building: ../UL_DL_COFIG_lut.c'
    ' '
    'Building file: ../gen_twiddle_ifft16x16.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="gen_twiddle_ifft16x16.pp" --cmd_file="./configPkg/compiler.opt" "../gen_twiddle_ifft16x16.c"
    'Finished building: ../gen_twiddle_ifft16x16.c'
    ' '
    'Building file: ../main.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt" "../main.c"
    "../main.c", line 55: warning #552-D: variable "diff" was set but never used
    'Finished building: ../main.c'
    ' '
    'Building file: ../prachPreamble.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="prachPreamble.pp" --cmd_file="./configPkg/compiler.opt" "../prachPreamble.c"
    "..\ifftfix.h", line 125: warning #179-D: variable "i" was declared but never referenced
    "../prachPreamble.c", line 48: warning #552-D: variable "x" was set but never used
    "../prachPreamble.c", line 78: warning #552-D: variable "start2" was set but never used
    "../prachPreamble.c", line 78: warning #179-D: variable "stop2" was declared but never referenced
    "../prachPreamble.c", line 78: warning #179-D: variable "diff2" was declared but never referenced
    "../prachPreamble.c", line 115: warning #179-D: variable "cyclicShiftOffset" was declared but never referenced
    "../prachPreamble.c", line 119: warning #552-D: variable "samplingFreq" was set but never used
    "../prachPreamble.c", line 121: warning #552-D: variable "preamble_sf_stIndex" was set but never used
    "../prachPreamble.c", line 199: warning #552-D: variable "preambleSeq" was set but never used
    'Finished building: ../prachPreamble.c'
    ' '
    'Building file: ../preambleRoot_lut.c'
    'Invoking: C6000 Compiler'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="C:/ti/dsplib_c66x_3_1_0_0" --include_path="C:/ti/dsplib_c66x_3_1_0_0/packages" --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="preambleRoot_lut.pp" --cmd_file="./configPkg/compiler.opt" "../preambleRoot_lut.c"
    "../preambleRoot_lut.c", line 1: warning #97-D: a translation unit must contain at least one declaration
    'Finished building: ../preambleRoot_lut.c'
    ' '
    'Building target: fin_txr.out'
    'Invoking: C6000 Linker'
    "C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6600 --big_endian --abi=eabi -O2 -ms2 -g --display_error_number --diag_warning=225 --diag_wrap=off -z --stack_size=50000000 -m"fin_txr.map" --heap_size=50000000 -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib" -i"C:/ti/dsplib_c66x_3_1_0_0/packages/ti/dsplib/src/DSP_ifft16x16" -i"C:/ti/dsplib_c66x_3_1_0_0/packages" -i"C:/ti/dsplib_c66x_3_1_0_0/packages/ti/dsplib/src" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="fin_txr_linkInfo.xml" --rom_model -o "fin_txr.out" -l"./configPkg/linker.cmd" "./preambleRoot_lut.obj" "./prachPreamble.obj" "./main.obj" "./gen_twiddle_ifft16x16.obj" "./UL_DL_COFIG_lut.obj" "./TDD_resource_lut.obj" "./FDD_resouce_lut.obj" -l"libc.a"
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    DSP_ifft16x16 ./prachPreamble.obj

    error #10234-D: unresolved symbols remain

    error #10010: errors encountered during linking; "fin_txr.out" not built
    >> Compilation failure
    gmake: *** [fin_txr.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****


    ERRORS:


    Description Resource Path Location Type
    #10010 errors encountered during linking; "fin_txr.out" not built fin_txr C/C++ Problem
    #10010 errors encountered during linking; "fin_txr.out" not built fin_txr C/C++ Problem
    unresolved symbol DSP_ifft16x16, first referenced in ./prachPreamble.obj fin_txr C/C++ Problem
  • The ultimate reason is here:

    warning #10373-D: library "../../../lib/dsplib.a66" contains TI-COFF object files which are incompatible with the ELF output file.  Ensure you are using the proper library.

    Because your output binary seems to be ELF, you should refer dsplib.ae66 for linking, not dsplib.a66. Thus, DSP_ifft16x16 could not be found in object files. And, of course, merge one linker command file to use.