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.

CCS6 Linker Warning

Other Parts Discussed in Thread: MSPMATHLIB, MSP430F4794

After importing a project from CCS5.5 and changing the default compiler to 4.3.1, I get the following liner warning:

warning #10204-D: could not resolve index library "libmath.a" to a compatible library

LIBMATH.A is in the library search path. So what's up with warning?

  • From the warning, we know "libmath.a" is an index library, not a real library.  The real libraries need to be present in the same directory as libmath.a; is that the case?  If you are unsure about the expected names of the real libraries, execute the following command on libmath.a:

    ar430 t libmath.a

    [ Corrected -- Archaeologist ]

  • Did you mean "AR430 t libmath.a" ? Rather than "libc.a" ? This is the directory where libmath.a is located.

  • Yes, I meant libmath.a.  Are there other libraries in the same directory as libmath.a?

  • Here is the directory:

     Directory of C:\ti2\ccsv6\ccs_base\msp430\lib\4xx

    05/05/2014  08:15 AM    <DIR>          .
    05/05/2014  08:15 AM    <DIR>          ..
    03/07/2014  05:20 AM             1,674 libmath.a
    03/07/2014  05:20 AM           235,228 MSPMATHLIB_CCS_msp430_4xx_large_code_large_data.lib
    03/07/2014  05:20 AM           235,192 MSPMATHLIB_CCS_msp430_4xx_large_code_restricted_data.lib
    03/07/2014  05:20 AM           234,868 MSPMATHLIB_CCS_msp430_4xx_large_code_small_data.lib
    03/07/2014  05:20 AM           234,868 MSPMATHLIB_CCS_msp430_4xx_small_code_small_data.lib
                   5 File(s)        941,830 bytes
                   2 Dir(s)  357,854,142,464 bytes free

    The CPU is a MSP430F4794 by the way.

  • The problem is those libraries are built for MSP430X devices, not a MSP430 device like the one you are building for.  I informed the MSP430 team about this issue.  Since this is not related to the compiler, I will move this thread to the MSP430 forum.

    Thanks and regards,

    -George

  • What memory model(s) are you using to compile?  If you are not sure, post your complete compilation options.  You can find them in the build console log.

  • Here is the build command line:

    -vmsp --abi=eabi --code_model=small --data_model=small -O0 --opt_for_speed=5 --include_path="C:/ti2/ccsv6/ccs_base/msp430/include" --include_path="C:/ti2/ccsv6/tools/compiler/msp430_4.3.1/include" --include_path="C:/Users/cbenson/Multi/Track-It 6700" --include_path="C:/Users/cbenson/Multi/Track-It 6700/inc" --include_path="C:/Users/cbenson/Multi/Track-It 6700/FatFS" -g --float_operations_allowed=none --gen_acp_xref --gcc --gen_acp_raw --define=__MSP430F4794__ --define=BOARD_REV=94 --define=MULTI --define=CCSV5 --verbose_diagnostics --diag_warning=225 --display_error_number --optimizer_interlist --remove_hooks_when_inlining --gen_opt_info=2 --printf_support=nofloat -k --c_src_interlist --asm_listing --output_all_syms --misra_advisory=suppress --misra_required=suppress

  • I am still waiting for an explanation from TI regarding this warning message.

  • Based on your commandline snapshot, you use small code and small data model. And for this combination, the library seems to be there. I expected it to be a combination like small code but large data model (which is not covered). Also, the path names and the path size seem to be okay. So I don’t know why the linker complains.
    I somewhat disagree with the conclusion that it is not related to the compiler (linker) and belongs to the MSP430 forum, as it rather seems to be a problem with the mechanism of index library usage.

  • I had a similar problem with a project that used  F5438. In the file search path in MSP430 linker, I added "${CCS_BASE_ROOT}/msp430/lib/5xx_6xx_FRxx" (since it is a 5xx device). I guess a similar fix would work (have not tried it though) for other devices where you can select the directory accordingly. 

  • Thanks for the suggestion, but that was not my issue. The libraries in question are not for the MSP430F4794 that I am using. For some reason they are included in the project ny default. This did not cause any warnings in CCS5, however, it does in CCS6. Just to be scientific about it, I built one of the TI example projects and got the same result. Removing the libraries from the project eliminated the warnings, and made me feel much better. I hate seeing warnings that I can not explain, and dismiss as benign.

**Attention** This is a public forum