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.
Hi,
I am working with a colleague to create an automated build environment. The automation is tied with tfs source control so that every time developers check in code to tfs, a script will be executed to kick off a build and check for build errors - this helps ensure that no one ever checks in bad code. We first set up a workspace and can successfully build the code in that workspace using CCS GUI. However, we are having problems right now when building through command line script. The command to build is this:
C:\ti\ccsv6\eclipse>eclipsec -noSplash -data "C:\TivaWorkspace" -application com.ti.ccstudio.apps.projectBuild -ccs.projects AppMaster -ccs.configuration Debug
-Dosgi.locking=none
Any ideas on what we can be doing wrong? Since the project builds successfully through the GUI, I would assume that the tools are installed correctly.
The build output is below:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CCS headless build starting... [Thu Apr 14 11:46:00 PDT 2016]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
================================================================================
Pre processing...
================================================================================
Building...
**** Build of configuration Debug for project jsmn ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project LibSpansionFFS ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project LibMtp ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project radiolib ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project commonlib ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project boardlib ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
gmake: Nothing to be done for `all'.
**** Build Finished ****
**** Build of configuration Debug for project AppMaster ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
making ../src/sysbios/sysbios.aem4f ...
gmake[1]: Entering directory `C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master/
AppMaster/src/sysbios'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master/A
ppMaster/src/sysbios'
'Building file: ../AppMaster.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_31_00_24_core/xs" --xdcpath="C:/ti/ccsv6/ccs_base;" xdc.tools.
configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.tiva:TM4C129XNC
ZAD -r release -c "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2" --compileOptions
"-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --include_path
=\"C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master/AppMaster/include\" --inclu
de_path=\"C:/Builds/TivaBuildAgent/src/Firmware/LIBS/radiolib/host/binary/apis/h
al/include\" --include_path=\"C:/Builds/TivaBuildAgent/src/Firmware/LIBS/radioli
b/host/binary/apis/wlan/ref_apps/include\" --include_path=\"C:/Builds/TivaBuildA
gent/src/Firmware/LIBS/radiolib/host/binary/apis/wlan/core/include\" --include_p
ath=\"C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master/AppMaster\" --include_pa
th=\"C:/Builds/TivaBuildAgent/src/Firmware/LIBS/boardlib/include\" --include_pat
h=\"C:/ti/tirtos_tivac_2_12_01_33/products/TivaWare_C_Series-2.1.0.12573c\" --in
clude_path=\"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/include\" --include_pat
h=\"C:/Builds/TivaBuildAgent/src/Firmware/LIBS/commonlib\" --include_path=\"C:/B
uilds/TivaBuildAgent/src/Firmware/LIBS/jsmn\" --include_path=\"C:/Builds/TivaBui
ldAgent/src/Firmware/LIBS/LibSpansionFFS\" -g --gcc --define=ccs=\"ccs\" --defin
e=BOARD_VER_X7 --define=PART_TM4C129XNCZAD --define=ccs --define=TIVAWARE --unde
fine=BOARD_VER_A2 --undefine=BOARD_VER_X5 --display_error_number --diag_warning=
225 --diag_wrap=off --gen_func_subsections=on --printf_support=full " "../AppMa
ster.cfg"
js: "C:/ti/xdctools_3_31_00_24_core/packages/xdc/tools/Cmdr.xs", line 51: Error:
xdc.tools.configuro: Error: Can't find the platform package 'ti.platforms.tiva'
. TI platforms are no longer shipped as part of XDCtools (C:\ti\xdctools_3_31_0
0_24_core). Please ensure you are either using a pre-3.30 version of XDCtools o
r you have added a product that includes your platform support along the path 'C
:/ti/ccsv6/ccs_base;C:\ti\xdctools_3_31_00_24_core/packages'. Check that this p
ath names a directory containing the necessary platform support and that the pla
tform name is properly spelled.
gmake: *** [configPkg/linker.cmd] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
Thanks.
Yan
Hello Yan,
It is very hard to understand the log file. For future reference, please use the option "use rich formatting" and click on the icon "" while posting code or log files?
Did you already try the following remedy that was provided with the error?
Yan Li29 said:Please ensure you are either using a pre-3.30 version of XDCtools or you have added a product that includes your platform support along he path 'C:/ti/ccsv6/ccs_base;C:\ti\xdctools_3_31_00_24_core/packages'. Check that this path names a directory containing the necessary platform support and that the platform name is properly spelled.
Thanks,
Sai
Hi Sai,
Sorry for being a noob and not posting in rich formatting. The platform is located in C:\ti\tirtos_tivac_2_12_01_33\products\bios_6_41_04_54\packages\ti\platforms\tiva\package. Under CCS project properties, there is a XDCtools->Package Repositories page that allows me to set the repository to C:\ti\tirtos_tivac_2_12_01_33\products\bios_6_41_04_54\packages\. When using the command line, is there some way to tell the tool to take the repository from C:\ti\tirtos_tivac_2_12_01_33\products\bios_6_41_04_54\packages\ instead of C:/ti/ccsv6/ccs_base;C:\ti\xdctools_3_31_00_24_core/packages? I can copy the files over to one of the above directories, but that seems to be more of a kludge.
Yan
Hi Sasha,
The CCS CDT Build Console does not output anything with --xdcpath.
However, the XDCtools window in the project properties look like this:
--xdcpath="C:/ti/tirtos_tivac_2_12_01_33/packages;C:/ti/tirtos_tivac_2_12_01_33/products/bios_6_41_04_54/packages;C:/ti/tirtos_tivac_2_12_01_33/products/ndk_2_24_02_31/packages;C:/ti/tirtos_tivac_2_12_01_33/products/uia_2_00_02_39/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.tiva:TM4C129XNCZAD -r release
Yan
Hi Sasha,
I have the XDC output below:
**** Build of configuration Debug for project AppMaster ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
'Building file: ../AppMaster.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_31_00_24_core/xs" --xdcpath="C:/ti/tirtos_tivac_2_12_01_33/packages;C:/ti/tirtos_tivac_2_12_01_33/products/bios_6_41_04_54/packages;C:/ti/tirtos_tivac_2_12_01_33/products/ndk_2_24_02_31/packages;C:/ti/tirtos_tivac_2_12_01_33/products/uia_2_00_02_39/packages;C:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.M4F -p ti.platforms.tiva:TM4C129XNCZAD -r release -c "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2" --compileOptions "-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster/include\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/radiolib/host/binary/apis/hal/include\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/radiolib/host/binary/apis/wlan/ref_apps/include\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/radiolib/host/binary/apis/wlan/core/include\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/boardlib/include\" --include_path=\"C:/ti/tirtos_tivac_2_12_01_33/products/TivaWare_C_Series-2.1.0.12573c\" --include_path=\"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/include\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/commonlib\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/jsmn\" --include_path=\"C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/LIBS/LibSpansionFFS\" -g --gcc --define=ccs=\"ccs\" --define=BOARD_VER_X7 --define=PART_TM4C129XNCZAD --define=ccs --define=TIVAWARE --undefine=BOARD_VER_A2 --undefine=BOARD_VER_X5 --display_error_number --diag_warning=225 --diag_wrap=off --gen_func_subsections=on --printf_support=full " "../AppMaster.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring AppMaster.xem4f from package/cfg/AppMaster_pem4f.cfg ...
generating custom ti.sysbios library makefile ...
Starting build of library sources ...
making C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster/src/sysbios/sysbios.aem4f ...
gmake[1]: Entering directory `C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster/src/sysbios'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster/src/sysbios'
Build of libraries done.
clem4f package/cfg/AppMaster_pem4f.c ...
'Finished building: ../AppMaster.cfg'
Yan
Yes, they are the same project. C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master. is the one built from the build agent.
Here is the reference to xdcpath for C:/yli/tfs_repo/GC4/Target/Dev/MCU/Firmware/APPS/Master/AppMaster. It doesn't show the path.
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1161480867" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"> <listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/> <listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/> <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.2012038590" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"> <listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/> <listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
Here xdcpath reference for C:/Builds/TivaBuildAgent/src/Firmware/APPS/Master.
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1161480867" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"> <listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/> <listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/> <option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.2012038590" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList"> <listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/> <listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
Yan,
Before building the project on command line, are you importing the project that builds successfully in the CCS GUI to a different workspace using the -application com.ti.ccstudio.apps.projectImport command?
Can you try "inspecting" the project to see if that shows any differences between the two projects?
Can you zip up all the project files (*project*) found in the project directory and attach it here for us to look at?