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 errors in wlan_station project

Hi,

I am trying to build a project and debug using CC3200 evaluation kit.

I have been following "CC3200 SimpleLink™ Wi-Fi® and IoT Solution With MCU LaunchPad™ Getting Started Guide" to setup my project.

But after point no 13 in 3.1.3 - Import and Configure Project in CCS, i am getting many error as attached screenshot.

Error looks trivial but i am nit getting any clue how to resolve it.

If any one facing / faced similar issue, please help.

Please note i have successfully done all steps till this point, so i dont think any software / driver/ compiler setup is missing.

CCS version - 6.0.1.00040

Operating system - Windows 8.1 ( tried to run in Windows7 compatibility mode as well)

Thanks,

Ashutosh.

  • Hi Ashutosh,

    It sounds like you are missing the run-time library. What do you have specified for the run-time library in the project properties for wlan_station? If you have "<automatic>", it should pull in the correct library:

    Thanks

    ki

  • Hello Ki,

    I checked, the setting is - automatic

    Thanks,

    Ashutosh.

  • Instead of using the automatic setting, try explicitly referencing the exact lib to see if that helps
    ki
  • Ashutosh Kulkarni said:
    I checked, the setting is - automatic

    In addition to this setting being "automatic", make sure that the linker library options lists libc.a, as shown in the screenshot. It should be there in the original example project but maybe you inadvertently deleted it.

  • Hi AratiG,

    I have checked and its same as the screenshot shows. Still in trouble ....

    Thanks,

    Ashutosh.
  • Can you copy the build log to a text file and attach the file here? This will show us the exact commands being passed to the compiler and linker and might help us spot what is missing.

    The build log can be generated using the icon shown below.

  • Find attached the requested file for build log.

    Thanks,

    Ashutosh.

    CCS_Build_log_get_time.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    **** Build of configuration Release for project get_time ****
    "c:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/gpio_if.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.6/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.6/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/oslib/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" -g --gcc --define=ccs --define=SL_PLATFORM_MULTI_THREADED --define=USE_FREERTOS --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="gpio_if.pp" "C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/gpio_if.c"
    'Finished building: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/gpio_if.c'
    ' '
    'Building file: ../main.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.6/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.6/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/oslib/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" -g --gcc --define=ccs --define=SL_PLATFORM_MULTI_THREADED --define=USE_FREERTOS --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="main.pp" "../main.c"
    'Finished building: ../main.c'
    ' '
    'Building file: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/network_if.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.6/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.6/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/oslib/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" -g --gcc --define=ccs --define=SL_PLATFORM_MULTI_THREADED --define=USE_FREERTOS --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="network_if.pp" "C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/network_if.c"
    'Finished building: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/network_if.c'
    ' '
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Ashutosh,

    The linker undefined symbol errors happen as a result of a previous step failing. If you look at the build log, it shows this:

    <Linking>
    warning #10366-D: automatic library build: using library "c:\ti\ccsv6\tools\compiler\arm_5.1.6\lib\rtsv7M4_T_le_eabi.lib" for the first time, so it must be built. This may take a few minutes.
    --> error: '*.obj
    ' not found
    gmake.exe[1]: *** [library] Error 1
    >> ERROR: mklib: gmake error during rtsv7M4_T_le_eabi.lib build

    As part of the project build, if the appropriate runtime library required for the project (in this case rtsv7M4_T_le_eabi.lib) doesn't exist, it will build that runtime library. In this case, the build of the runtime library fails, hence the .lib is not generated. That in turn causes the linker to generate undefined symbols because the library is not available to be linked into the program.

    As to why the runtime library build fails, please take a look at this page: 

    http://processors.wiki.ti.com/index.php/Mklib#MKS_or_Cygwin_or_gmake_tools_in_your_path

    I suspect the most likely cause in your case is a conflicting Cygwin tools or sh.exe or gmake.exe in your PATH. 

  • Hi Aarti,

    I am not sure why these libraries are not there / missing. I am doing standard installation of CCS in Windows 8.1. If i do the same in Windows 7 i works well.

    So i doubt the problem in installing CCS on Windows 8.1 (32 bit)

    Further what is the solution on this? And why there could be conflict in Cygwin tools / sh.exe tools?

    A quick test from above link when types elow commands in command prompt -

    C:\> where sh -> c:\cygwin\bin\sh.exe
    C:\> where cygwin -> Could not find files for the given pattern(s)
    C:\> where gmake-> Could not find files for the given pattern(s)

    Ashutosh.

  • Ashutosh Kulkarni said:
    I am not sure why these libraries are not there / missing.

    Not all variants of the runtime libraries are included in the standard compiler installation with CCS. As I mentioned earlier, if a certain runtime library that is not provided by default is required for a build (as in your case), then it will try to build it on the fly as part of the project build. This is the step that is failing for you. 

    Ashutosh Kulkarni said:
    And why there could be conflict in Cygwin tools / sh.exe tools?

    The wiki link I sent in my previous reply explains this. The clear reason for why a conflict in Cygwin tools or sh/gmake affects the build of the runtime library is not clear, however several users have experienced this and we have found the workaround of removing those tools from the system PATH helps resolve the library build error. 

    You also have an alternate option. Since you mention this build works well in Windows 7 I imagine the runtime library rtsv7M4_T_le_eabi.lib should already be generated in that machine. In that case, you can copy over the runtime library from the Win7 CCS installation over to your Win 8 installation. The library should be in the \tools\compiler\arm_xxx\lib folder. 

  • Hi Arati,

    Thanks for the information, this worked!

    I copied the rtsv7M4_T_le_eabi.lib from Windows7 machine to the installation path and code got compiled on Windows8.1 machine.

    I could compile, build and debug the code as well now. Thanks for all the help, still why the library couldnt generated in Windows8.1 machine is a mystery, but let it be for now.

    Find attached the build log file

    CCS_Build_log_tcp_socket.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    **** Build of configuration Release for project tcp_socket ****
    "c:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: ../main.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="main.pp" "../main.c"
    'Finished building: ../main.c'
    ' '
    'Building file: ../pinmux.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="pinmux.pp" "../pinmux.c"
    'Finished building: ../pinmux.c'
    ' '
    'Building file: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/startup_ccs.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="startup_ccs.pp" "C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/startup_ccs.c"
    'Finished building: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/startup_ccs.c'
    ' '
    'Building file: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/uart_if.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="uart_if.pp" "C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/uart_if.c"
    'Finished building: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/uart_if.c'
    ' '
    'Building file: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/udma_if.c'
    'Invoking: ARM Compiler'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 --include_path="c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/include" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/simplelink/source" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/driverlib" --include_path="C:/ti/CC3200SDK_1.0.0/cc3200-sdk/inc" -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="udma_if.pp" "C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/udma_if.c"
    'Finished building: C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/common/udma_if.c'
    ' '
    'Building target: tcp_socket.out'
    'Invoking: ARM Linker'
    "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armcl" -mv7M4 --code_state=16 --float_support=fpalib --abi=eabi -me -O3 --opt_for_speed=5 -g --gcc --define=ccs --define=USER_INPUT_ENABLE --define=cc3200 --display_error_number --diag_warning=225 --diag_wrap=off -z -m"tcp_socket.map" --heap_size=0x800 --stack_size=0x800 -i"c:/ti/ccsv6/tools/compiler/arm_5.1.10/lib" -i"c:/ti/ccsv6/tools/compiler/arm_5.1.10/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="tcp_socket_linkInfo.xml" --rom_model -o "tcp_socket.out" "./main.obj" "./pinmux.obj" "./startup_ccs.obj" "./uart_if.obj" "./udma_if.obj" "../cc3200v1p32.cmd" -l"libc.a" -l"C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/tcp_socket/ccs//../../../simplelink/ccs/NON_OS/simplelink.a" -l"C:/ti/CC3200SDK_1.0.0/cc3200-sdk/example/tcp_socket/ccs//../../../driverlib/ccs/Release/driverlib.a"
    <Linking>
    'Finished building target: tcp_socket.out'
    ' '
    "c:/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "tcp_socket.out" "tcp_socket.bin" "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armofd" "c:/ti/ccsv6/tools/compiler/arm_5.1.10/bin/armhex" "c:/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
    ' '
    **** Build Finished ****
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Thanks again.

    Ashutosh.

  • Thanks for the update and glad to hear you were able to move on by copying the rts library from the other machine.