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/EK-TM4C1294XL: udp_echo will not 'make'

Part Number: EK-TM4C1294XL


Tool/software: Code Composer Studio

I have downloaded the udp_echo project from:

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/908/udp_5F00_echo.zip

It was not included among any of the other examples I already had.

Building fails with the following message:

 drivers/subdir_rules.mk:6: *** target pattern contains no '%' . Stop.

Apparently drivers is a subdirectory under Debug.

subdir_rules.mk seems to be some auto generated file, not to be edited. Text, but barely readable!

Which tweak do I need to perform?

I am running CCS ver. 10 under Ubuntu.

  • Hi,

      I'm not sure what is the problem. Here is the udp_echo example. Please first try to import this in CCS by going to File -> Import. Please try it in a Windows machine first. 

    2100.udp_echo.zip

  • Unfortunately Windoze is NOT an option, unless You want me to use my private laptop for work?

    I am, however, almost as new to Ubuntu as to CCS! Fresh in from Andromeda!

    I have tried using File- Import. It asked me to use the project wizzard instead. Or maybe I did not select the correct import method? Apparently there are 20 or 30 to choose from.

    Using the wizzard (Getting Started - Import Project) (after renaming my other udp_echo directory) simply gave me the same error. Except I now get it twice!

    First for a gmake -k clean command,

    then for a gmake -k all command.

  • OK, I may have some additional info:

    Debug/drivers/subdir_rules.mk contains this:

    ################################################################################
    # Automatically-generated file. Do not edit!
    ################################################################################
    
    # Each subdirectory must supply rules for building sources it contributes
    drivers/pinout.obj: /C:/ti/TivaWare_C_Series-2.1.4.178/examples/boards/ek-tm4c1294xl/drivers/pinout.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
    	@echo 'Building file: "$<"'
    	@echo 'Invoking: ARM Compiler'
    	"/home/vv07/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -Ooff --include_path="/home/vv07/ti/ccs1000/ccs/tools/compiler/ti-cgt-arm_20.2.0.LTS/include" --include_path="/home/vv07/workspace_v10/udp_echo" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/examples/boards/ek-tm4c1294xl" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/src/include" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/src/include/ipv4" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/ports/tiva-tm4c129/include" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/apps" --include_path="/C:/ti/TivaWare_C_Series-2.1.4.178/third_party" --advice:power=all -g --gcc --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=TARGET_IS_TM4C129_RA0 --define=EK_TM4C129_BP1 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --ual --preproc_with_compile --preproc_dependency="drivers/$(basename $(<F)).d_raw" --obj_directory="drivers" $(GEN_OPTS__FLAG) "$(shell echo $<)"
    	@echo 'Finished building: "$<"'
    	@echo ' '
     

    Line 6 (the drivers/pinout.obj: statement) is marked with a red error marker. And correct, it does not contain a '%' sign.

    The pinout.c file specified does exist at that location.  It does not seem to contain a '%' sign either.

    It was in a read-only state, which I have removed.

    I still get the same error.

    The .mk file must be remade at every build, because I must reload it in order to see the error marker again, but there it is!

    I have just somewhere else seen, that this error has something to do with invalid characters in the statements. Bad naming of directories for instance.

    However, I have not created any of the names in that tree, except the top 'ti' directory.

  • Hi, 

      I will move your question to our CCS forum for assistance as I'm not familiar with the toolchain for Linux. 

  • I agree!

    This is beginning to sound more like a CCS problem than a processor specific.

  • Hello,

    Looks like you took a project developed on Windows and trying to build on Linux.

    When checking your build flags, I see many Windows paths for the include search paths:

    Those include search paths rely on a variable "SW_ROOT":

    When I check the linked resource variables list, I see that SW_ROOT relies on ORIGINAL_PROJECT_ROOT. This variable has an absolute Windows path. It is this Windows path (or more specifically the semi-colon in it) that is the cause of the make error you see.

    Please fix ORIGINAL_PROJECT_ROOT (or SW_ROOT) to point to valid paths on your Linux environment.

    Thanks

    ki

  • Thanks Ki, your post did something, but not quite the cigar.

    I have tried letting 'Original' point to various valid directories, including udp_echo. All result in the same error.

    *** target pattern contains no '%' . Stop.

    Only now it is Debug/startup_ccs.d that fails.

    The file contains:

    # FIXED
    
    startup_ccs.obj: ../startup_ccs.c
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/stdint.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/_stdint40.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/stdint.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/cdefs.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/_types.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/machine/_types.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/machine/_stdint.h
    startup_ccs.obj: C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/_stdint.h
    startup_ccs.obj: C:/ti/TivaWare_C_Series-2.1.4.178/inc/hw_nvic.h
    startup_ccs.obj: C:/ti/TivaWare_C_Series-2.1.4.178/inc/hw_types.h
    
    ../startup_ccs.c: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/stdint.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/_stdint40.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/stdint.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/cdefs.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/_types.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/machine/_types.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/machine/_stdint.h: 
    C:/ti/ccs930/ccs/tools/compiler/ti-cgt-arm_18.12.4.LTS/include/sys/_stdint.h: 
    C:/ti/TivaWare_C_Series-2.1.4.178/inc/hw_nvic.h: 
    C:/ti/TivaWare_C_Series-2.1.4.178/inc/hw_types.h: 
    

    The process stops at line 4. I suspect other lines will also create similar errors.

    But ...

    The path says something about ccs930.

    That wouldn't by chance be specific to a CCS version 9.30? (I some time ago upgraded to 10.0! From ver.?)

    In my structure I have css1000! (No ccs930!)

      And deeper, I have ti-cgt-arm_20.2.0 (and _20.2.1)

    In other words. A lot of those lines point to locations I do not have!

    Should I 'simply' edit the .d file, or is there another / better / more correct way?

  • Did you clean the project first? Once I cleaned the project (after fixing the linked resource paths), the project built fine.