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/AWR1642: CCS studio fails automatic library build

Part Number: AWR1642

Tool/software: Code Composer Studio

It seems that CCS studio is failing to build libraries.  I have tried this in the IDE and standalone with mklib --pattern=rtsv7R4_A_be_v3D16_eabi.lib.  Its a 100% failure rate in the IDE and 90% via stand alone.  As far as I can tell it seems to be related to CPU load which hits 100% during the build processes causing sh, sed or other utilities used in the build to fail ("sed.exe has stopped working") resulting in the library to fail.  Is there some way to prevent CCS from trying to use all available resources to do the build?

I created a hello world project and hit rebuild


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

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 clean -O

DEL /F "ARMTest.hex" "ARMTest.out"
DEL /F "hello.obj"
DEL /F "hello.d"
Finished clean

Could Not Find C:\Projects\Radar\CCSWorkspace\ARMTest\Debug\ARMTest.hex

**** Build Finished ****

**** Build of configuration Debug for project ARMTest ****

"C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 8 all -O

Building file: "../hello.c"
Invoking: ARM Compiler
"C:/ti/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me --include_path="C:/Projects/Radar/CCSWorkspace/ARMTest" --include_path="C:/ti/ti-cgt-arm_16.9.6.LTS/include" -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi --preproc_with_compile --preproc_dependency="hello.d_raw" "../hello.c"
Finished building: "../hello.c"

Building target: "ARMTest.out"
Invoking: ARM Linker
"C:/ti/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=32 --float_support=VFPv3D16 -me -g --diag_warning=225 --diag_wrap=off --display_error_number --enum_type=packed --abi=eabi -z -m"ARMTest.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ti-cgt-arm_16.9.6.LTS/lib" -i"C:/ti/ti-cgt-arm_16.9.6.LTS/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="ARMTest_linkInfo.xml" --rom_model -o "ARMTest.out" "./hello.obj" "../xwr1642_r4f.cmd" -llibc.a
<Linking>
warning #10366-D: automatic library build: using library "C:\ti\ti-cgt-arm_16.9.6.LTS\lib\rtsv7R4_A_le_v3D16_eabi.lib" for the first time, so it must be built. This may take a few minutes.
Makefile:1855: recipe for target 'c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/e_powf.obj' failed
Makefile:1855: recipe for target 'c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/s_truncf.obj' failed
gmake.exe[2]: *** [c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/e_powf.obj] Error -1073741502
Makefile:1920: recipe for target 'c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/isprint.obj' failed
gmake.exe[2]: *** [c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/s_truncf.obj] Error -1073741502

>> Compilation failure
makefile:141: recipe for target 'ARMTest.out' failed
gmake.exe[2]: *** [c:/users/hsmith/appdata/local/temp/ti38aa~1/obj/isprint.obj] Error -1073741502
gmake.exe[2]: Target 'library' not remade because of errors.
>> ERROR: mklib: gmake error during rtsv7R4_A_le_v3D16_eabi.lib build
warning #10207-D: automatic RTS selection: resolving index library "libc.a" to "rtsv7R4_A_le_v3D16_eabi.lib", but "rtsv7R4_A_le_v3D16_eabi.lib" was not found
error #10198-D: no input section is linked in
warning #10062-D: entry-point symbol "_c_int00" undefined
warning #10202-D: no suitable entry-point found; setting to 0
error #10010: errors encountered during linking; "ARMTest.out" not built
makefile:137: recipe for target 'all' failed
gmake[1]: *** [ARMTest.out] Error 1
gmake: *** [all] Error 2

**** Build Finished ****

Also the recipes that fail are not consistent at all.  This also leads me to believe it is related to launching a build when my laptop is out of resources.  This is a new laptop with an i7-6700HQ and 16 GB of RAM.  Ram usage doesn't seem to be an issue.  I have also tried to limit CCS to 1 CPU without any change.

Thanks,

Howie

  • I am unable to reproduce this behavior.  I suspect the root cause is somewhere in the configuration of your laptop.  Here are some suggestions to consider.

    Check on the setting of the environment variable NUMBER_OF_PROCESSORS.  Does it match the number of CPU cores on your laptop?  The utility mklib ultimately invokes gmake on the Makefile in the compiler directory lib\src.  By default, it tells gmake to run NUMBER_OF_PROCESSORS compilations in parallel.  Perhaps NUMBER_OF_PROCESSORS is set to an unreasonably high value.

    When you invoke mklib, you can override the use of NUMBER_OF_PROCESSORS with the option --parallel=number.  Try setting it to 1.  Here is a batch file to get you started.

    @echo off
    
    rem -----------------------------------------------------------------------
    rem Do not remember the environment variables set in this file
    rem -----------------------------------------------------------------------
    setlocal
    
    rem -----------------------------------------------------------------------
    rem Set to location of the compiler installation
    rem -----------------------------------------------------------------------
    set cgtroot=C:\ti\ccsv8\tools\compiler\ti-cgt-arm_16.9.6.LTS
    
    rem -----------------------------------------------------------------------
    rem No need to modify
    rem -----------------------------------------------------------------------
    set lib=%cgtroot%\lib
    
    rem -----------------------------------------------------------------------
    rem Invoke mklib
    rem -----------------------------------------------------------------------
    @echo on
    %lib%\mklib --pattern=rtsv7R4_A_le_v3D16_eabi.lib --index=%lib%\libc.a --parallel=1

    Thanks and regards,

    -George